Re: Is my repository broken?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 8 Apr 2008, Shawn O. Pearce wrote:

Julian Phillips <julian@xxxxxxxxxxxxxxxxx> wrote:
[...] In particular I had a number of commits with an empty ident [...]
...
Also, shouldn't fast-import be imposing the same restrictions on what you
are allowed to commit that the main git tools do?  If not, are such
restrictions documented so that I can apply them in my conversion script?

Hmm, no.  fast-import allows what the generalized data model permits
in the object store, its really plumbing.  If you are feeding it
an input stream that creates data that isn't compliant with what
the higher level VCS porcelain wants, well, all I can say is "don't
do that".

Well, the 16 parent limit is enforced in builtin-commit-tree.c, and the commit-tree command is listed as plumbingmanipulators in command-list.txt - and the #define line actually blames all the way back to Linus' original commit. So that's not really a porcelain thing ;), but ... *shrugs*

The fast-import manual specifically warns in the "merge" command
documentation that you may not want to use more than 15 merge
commands, as it can create a commit that other tools based around
git won't like.  But we still let you do it.

Ok, so the answer is "read the manpage" ... that's what I get for spending so long playing with fast-import that I don't read the manpage anymore (I found the syntax description in fast-import.c a more useful reference) ... ho hum.

We also still let you create a commit with duplicate parents.

Well - that certainly shouldn't be happening - I remebered to check for that one.

Some tools (gitk) have had issues with that in the past, but many of
them have been fixed after a fast-import result was used with them.
From a VCS point of view its silly to list the same ancestor twice.
But from an object model point of view, it may make sense if you
were building something else on top of the core plumbing.

Would it make sense perhaps for fast-import to warn about (or even error out on) such things unless you tell it not to? Most people would probably want to know if they were creating a repository that wasn't going to play nice with git's main tool suite? (I didn't realise that I _was_ creating
16 way merges until filter-branch told me).

The same holds true for the empty ident.

Ok - but I can't even find a note in the manpage for this one ...

--
Julian

 ---
I thought there was chocolate inside ... Well, why was it wrapped in foil?

		-- Homer Simpson
		   Mr. Plow
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux