Hello
Ten days ago I started a thread about "Separating generated files?" [1],
and suggested in the end that instead of using git submodule
functionality, one might be better off using a tool which can, upon
committing files in the repository containing generated files, add a
link ("reference") pointing to the commit in the source repository which
represents the source files they have been generated from, and then when
someone is checking out some revision of the source files later, use
this information to find the (best-)matching commit in the repository
with the generated files. This may also be useful in other situations
where one likes to keep repositories separate but they have a version
dependency on each other.
I've now written a first version of a pair of these two programs, which
accomplishes this. You can get them from:
http://www.christianjaeger.ch/dyn/pubgit/gitweb?p=intergit.git;a=summary
git clone http://christianjaeger.ch/pubgit/intergit.git
This will need some finish before really being production ready; it will
mainly need some experimentation on how it is to be used exactly, so
that possibly missing features in the search and indexing algorithms can
be added (like whether it should understand merges between two commits
containing references as a commit having both references even if the
merge commit doesn't specify a reference), and I'm also keen on some
feedback implementation-wise (building the index is currently slow, and
some of the problems that I'm listing in the docs (Implementation.txt
and TODO.txt) may have solutions I've not been aware of). I've tried to
add some useful documentation (see *.txt files), so I'm hoping this
helps anyone interested to understand how it works, or just give me some
feedback on how it may or may not be useful.
I've developed and tested it on Linux. Hints on whether it works under
other systems and how to make it work with msysgit would be very
appreciated.
Christian
[1] http://marc.info/?l=git&m=122415845625044&w=2
PS. I've just noticed the thread about "repo - The Multiple Git
Repository Tool". I'll have to take a look first to see how it is
related to my program--it may take me a few days as I'll be busy.
--
My OpenPGP fingerprint: F033 D030 F75D E445 05A1 1865 4ECB DF80 1FE6 92DA
--
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