git fast-import: how to prevent incremental commit with no changes

2014-05-05 Thread Timo Teras
Hi,

I'm trying to script a setup that would periodically import a tarball
to git with fast-import. But things do not always change, so I'd like
fast-import to be able to not do the commit in case there is no change.

That is, I'm constructing the commit with deleteall + importing each
object by mark after that. Now, in case nothing changed, fast-import
will happily create an empty commit for me.

Would it be possible to add some flag that would make commit fail in
case nothing changed?

Any suggestions how to do this?

Thanks,
Timo
--
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: git fast-import: how to prevent incremental commit with no changes

2014-05-06 Thread Timo Teras
On Tue, 06 May 2014 12:18:16 -0700
Junio C Hamano gits...@pobox.com wrote:

 Timo Teras timo.te...@iki.fi writes:
 
  I'm trying to script a setup that would periodically import a
  tarball to git with fast-import. But things do not always change,
  so I'd like fast-import to be able to not do the commit in case
  there is no change.
 
  That is, I'm constructing the commit with deleteall + importing
  each object by mark after that. Now, in case nothing changed,
  fast-import will happily create an empty commit for me.
 
  Would it be possible to add some flag that would make commit fail in
  case nothing changed?
 
  Any suggestions how to do this?
 
 I am not sure if such a conditional logically belongs to what
 fast-import does.  Would it be an option for your script to rewind
 the HEAD after the import is done and it finds that the tarball did
 not have anything interesting new?

Yes, this is what I ended up with for now. I wanted to avoid this mostly
so that I would not need to run git gc --prune=now or similar after
each import (or at least not often).

Thanks.
--
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