author | Linus Torvalds <torvalds@ppc970.osdl.org> | |
Mon, 18 Apr 2005 19:15:10 +0000 (12:15 -0700) | ||
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | |
Mon, 18 Apr 2005 19:15:10 +0000 (12:15 -0700) | ||
commit | 839a7a06f35bf8cd563a41d6db97f453ab108129 | |
tree | d7d681633af8bac34d18dbdcd526c301a4818a5e | tree | snapshot |
parent | b51ad4314078298194d23d46e2b4473ffd32a88a | commit | diff |
Add the simple scripts I used to do a merge with content conflicts.
They sure as hell aren't perfect, but they allow you to do:
./git-pull-script {other-git-directory}
to do the initial merge, and if that had content clashes, you do
merge-cache ./git-merge-one-file-script -a
which tries to auto-merge. When/if the auto-merge fails, it will
leave the last file in your working directory, and you can edit
it and then when you're happy you can do "update-cache filename"
on it. Re-do the merge-cache thing until there are no files left
to be merged, and now you can write the tree and commit:
write-tree
commit-tree .... -p $(cat .git/HEAD) -p $(cat .git/MERGE_HEAD)
and you're done.
They sure as hell aren't perfect, but they allow you to do:
./git-pull-script {other-git-directory}
to do the initial merge, and if that had content clashes, you do
merge-cache ./git-merge-one-file-script -a
which tries to auto-merge. When/if the auto-merge fails, it will
leave the last file in your working directory, and you can edit
it and then when you're happy you can do "update-cache filename"
on it. Re-do the merge-cache thing until there are no files left
to be merged, and now you can write the tree and commit:
write-tree
commit-tree .... -p $(cat .git/HEAD) -p $(cat .git/MERGE_HEAD)
and you're done.
git-merge-one-file-script | [new file with mode: 0755] | blob |
git-prune-script | [new file with mode: 0755] | blob |
git-pull-script | [new file with mode: 0755] | blob |