Re: Help requested - trying to build a tool doing whole-tree commits

2012-11-12 Thread ydirson
esr:
>Junio C Hamano  pobox.com>:
>> Perhaps not exactly what you are looking for, but don't we have
>> import-tar somewhere in contrib/fast-import hierarchy (sorry, not on
>> a machine yet, and I cannot give more details).
>
>If I recall correctly, that can only be used for original import.

You may find my (old) ag-import-patch tool useful.  Although the name does not
imply it, it allows to import a series of releases that can be available either 
as
tarballs or as patches.

http://ydirson.free.fr/soft/git/argit.git/

There's not much doc in there, and not so much I can remember myself from the 
short
help string.  IIRC you can specify which base revision a patch applies to (ie. 
it
may apply to an older revision, not necessarily to the current HEAD).

It has also quite some bitrot (git-* direct invocation, use of cg-tag, surely 
more).
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Help requested - trying to build a tool doing whole-tree commits

2012-11-11 Thread Eric S. Raymond
Junio C Hamano :
> Perhaps not exactly what you are looking for, but don't we have
> import-tar somewhere in contrib/fast-import hierarchy (sorry, not on
> a machine yet, and I cannot give more details).

If I recall correctly, that can only be used for original import.

I think Andreas Schwab's suggestion (git add -A && git write-tree &&
git commit-tree && git update-ref) is probably the right thing. I'm
going to try that.
-- 
http://www.catb.org/~esr/";>Eric S. Raymond
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Help requested - trying to build a tool doing whole-tree commits

2012-11-10 Thread Felipe Contreras
On Fri, Nov 9, 2012 at 10:50 PM, Andreas Schwab  wrote:
> Unknown  writes:

Unknown Invalid? Please don't change the original email, makes it
harder for other people to reply.

>> I need a command or command sequence that will commit an entire file
>> tree to a repository...
>>
>> (a) Allowing me to specify committer and author metadata, and
>>
>> (b) deleting paths not present in the previous commit on the current
>> branch, and
>>
>> (c) allowing me to specify merge links from other previous commits.
>>
>> git commit -a passes (a) and (b) but not (c).
>
> git commit -a won't add new files, so you probably want to use git add
> -A && git commit.  I'm not quite sure what you mean with "merge links",
> but if you want to create merge commits the you'll need to resort to
> plumbing: git add -A && git write-tree && git commit-tree && git
> update-ref.

I've done something similar, except that I used git hash-object
instead of git commit-tree so that I can specify every single detail
about the commit object.

Cheers.

-- 
Felipe Contreras
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Help requested - trying to build a tool doing whole-tree commits

2012-11-10 Thread Junio C Hamano
Unknown  writes:

> (Apologies if this arrives twice. I'm on the road, with somewhat flaky email.)
>
> Because of my work on reposurgeon, I am sometimes asked to produce git
> repositories for very old projects that not only are still using CVS
> but have ancient releases not in the CVS repository, preserved only
> as tarballs.

Perhaps not exactly what you are looking for, but don't we have
import-tar somewhere in contrib/fast-import hierarchy (sorry, not on
a machine yet, and I cannot give more details).

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


Re: Help requested - trying to build a tool doing whole-tree commits

2012-11-09 Thread Andreas Schwab
Unknown  writes:

> I need a command or command sequence that will commit an entire file
> tree to a repository...
>
> (a) Allowing me to specify committer and author metadata, and
>
> (b) deleting paths not present in the previous commit on the current
> branch, and
>
> (c) allowing me to specify merge links from other previous commits.
>
> git commit -a passes (a) and (b) but not (c).

git commit -a won't add new files, so you probably want to use git add
-A && git commit.  I'm not quite sure what you mean with "merge links",
but if you want to create merge commits the you'll need to resort to
plumbing: git add -A && git write-tree && git commit-tree && git
update-ref.

Andreas.

-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Help requested - trying to build a tool doing whole-tree commits

2012-11-09 Thread Eric S. Raymond
(Apologies if this arrives twice. I'm on the road, with somewhat flaky email.)

Because of my work on reposurgeon, I am sometimes asked to produce git
repositories for very old projects that not only are still using CVS
but have ancient releases not in the CVS repository, preserved only
as tarballs.  I have such a request currently pending from the
robotfindskitten project.

To automate this process, I am trying to write a tool that will take a
sequence of file trees and synthetic change comments in one end and
emit a git repository composing them into a DAG out the other. The
working name for this tool is 'gitpacker'.

I've already written the unpacking operation (git repo to tree
sequence plus log). This morning I discovered that git-commit
won't do quite what I need for the packing operation.
I'm requesting help.

I need a command or command sequence that will commit an entire file
tree to a repository...

(a) Allowing me to specify committer and author metadata, and

(b) deleting paths not present in the previous commit on the current
branch, and

(c) allowing me to specify merge links from other previous commits.

git commit -a passes (a) and (b) but not (c).

Advice on how to accomplish this is requested

Advice on a better name for the tool is also requested, as I'm
not happy with the way my use of 'pack' collides with existing
git use of the same verb.
-- 
http://www.catb.org/~esr/";>Eric S. Raymond

.. a government and its agents are under no general duty to 
provide public services, such as police protection, to any 
particular individual citizen...
-- Warren v. District of Columbia, 444 A.2d 1 (D.C. App.181)
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html