- Handling of RCS keyword expansion.
How about EOL tagging? There is at least one file which changes EOL convention during its lifetime...
I'm not sure; git handles all files as binary data, so it depends on how RCS handles EOL.
Currently commits that are identical (including same history) in more than one major branch are kept as one single commit. Should they be forced to be split apart if after the split point for the branches?
What are the practical implications within the git system of the two options?
I'll try to explain it with illustrations. More recent commits at the top:
Current:
Branch: A A and B B Commit
| | | o C10 o | C9 | | o | C8 |________ | | \ o C7 | | __________/| | |/ | | o | C6 | | o C5 o | __________/| C4 ________ |/ | | | o | C3 | o C2 | __________/ |/ Split: o C1 | o | o | o
C1 was the last commit when A and B still were the same repository.
C2 was the first commit that was unique to repository B.
C3 was a commit that was performed identically (same content, user, message, prior history and commit time (second precision)) in both A and B.
C4 was the first commit that was unique to repository A. It thus branches off from C3.
C5 was the second unique to A. Since it came after C3 it merges C3 and C2.
C6 was the last commit that was identical in both A and B. The virtual branch "A and B" thus ends here.
Alternative:
Split the commits common to both branches after the split. ie create commits C3A and C3B from C3 and C6A and C6B from C6 giving the graph:
Branch: A A and B B Commit
| | | o C10 o | C9 | | o | C8 | | | o C7 | | | | o o C6 | o C5 o | C4 | | | | o o C3 ________ o C2 \ __________/ |/ Split: o C1 | o | o | o