aboutsummaryrefslogtreecommitdiff
path: root/git-merge-one-file.sh
Commit message (Collapse)AuthorAge
* merge-one-file: use rmdir -pJunio C Hamano2005-11-20
| | | | | | The flag is universally available, even on VMS; use it. Signed-off-by: Junio C Hamano <junkio@cox.net>
* merge-one-file: remove empty directoriesJunio C Hamano2005-11-19
| | | | | | | | | | When the last file in a directory is removed as the result of a merge, try to rmdir the now-empty directory. [jc: We probably could use "rmdir -p", but for now we do that by hand for portability.] Signed-off-by: Junio C Hamano <junkio@cox.net>
* merge-one-file: use empty- or common-base condintionally in two-stage merge.Junio C Hamano2005-11-11
| | | | | | | | If two sides added the same path completely different thing, it is easier to see the merge pivoting on /dev/null. So check the size of the common section we have found, and empty it if it is too small. Signed-off-by: Junio C Hamano <junkio@cox.net>
* merge-one-file: use common as base, instead of emptiness.Junio C Hamano2005-11-11
| | | | | | | | | | | | | | | | | | | | | Unlike the previous round that merged the path added differently in each branches using emptiness as the base, compute a common version and use it as input to 'merge' program. This would show the resulting (still conflicting) file left in the working tree as: common file contents... <<<<<< FILENAME version from our branch... ====== version from their branch... >>>>>> .merge_file_XXXXXX more common file contents... when both sides added similar contents. Signed-off-by: Junio C Hamano <junkio@cox.net>
* merge with /dev/null as base, instead of punting O==empty caseJunio C Hamano2005-11-11
| | | | | | | | | Instead of leaving the path unmerged in a case where each side adds different version of the same path, attempt to merge it with empty base and leave "our" version in the index file, just like we do for the case in conflicting merge. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Big tool rename.Junio C Hamano2005-09-07
As promised, this is the "big tool rename" patch. The primary differences since 0.99.6 are: (1) git-*-script are no more. The commands installed do not have any such suffix so users do not have to remember if something is implemented as a shell script or not. (2) Many command names with 'cache' in them are renamed with 'index' if that is what they mean. There are backward compatibility symblic links so that you and Porcelains can keep using the old names, but the backward compatibility support is expected to be removed in the near future. Signed-off-by: Junio C Hamano <junkio@cox.net>