Re: Reading remote reflogs

2013-03-29 Thread Junio C Hamano
Dennis Kaarsemaker den...@kaarsemaker.net writes:

 ... Mirrored repositories don't
 maintain a reflog, even with core.logAllRefUpdates = true,...

Are you sure about this?  When log_all_ref_updates is not set, by
default we do not log for bare repositories, but other than that, we
do not do anything special with respect to reflogs.

$ (cd ..  git clone --no-local --mirror git.git victim)
$ git checkout next
$ EDITOR=: git commit --amend
$ cd ../victim
$ git config core.logallrefupdates true
$ git fetch
$ find logs
logs
logs/HEAD
logs/refs
logs/refs/heads
logs/refs/heads/next

It seems to record how a branch at its origin was updated just fine,
at least to me.

--
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: Reading remote reflogs

2013-03-29 Thread Dennis Kaarsemaker
On vr, 2013-03-29 at 15:45 -0700, Junio C Hamano wrote:
 Dennis Kaarsemaker den...@kaarsemaker.net writes:
 
  ... Mirrored repositories don't
  maintain a reflog, even with core.logAllRefUpdates = true,...
 
 Are you sure about this?  When log_all_ref_updates is not set, by
 default we do not log for bare repositories, but other than that, we
 do not do anything special with respect to reflogs.

I was, as I tried the recipe below, though with a different repo. Must
have goofed something up, as it works now. Thanks for the braincheck :)

That gives me a reasonable approximation of distinct pushes if I pull
the mirror often enough. It's always going to be an approximation
though, so the original question still stands.
-- 
Dennis Kaarsemaker
www.kaarsemaker.net

--
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: Reading remote reflogs

2013-03-29 Thread Junio C Hamano
Dennis Kaarsemaker den...@kaarsemaker.net writes:

 On vr, 2013-03-29 at 15:45 -0700, Junio C Hamano wrote:
 Dennis Kaarsemaker den...@kaarsemaker.net writes:
 
  ... Mirrored repositories don't
  maintain a reflog, even with core.logAllRefUpdates = true,...
 
 Are you sure about this?  When log_all_ref_updates is not set, by
 default we do not log for bare repositories, but other than that, we
 do not do anything special with respect to reflogs.

 I was, as I tried the recipe below, though with a different repo. Must
 have goofed something up, as it works now. Thanks for the braincheck :)

 That gives me a reasonable approximation of distinct pushes if I pull
 the mirror often enough.

Instead of polling, why not git push --mirror whenever the
original gets updated?
--
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: Reading remote reflogs

2013-03-29 Thread Dennis Kaarsemaker
On vr, 2013-03-29 at 15:58 -0700, Junio C Hamano wrote:
 Dennis Kaarsemaker den...@kaarsemaker.net writes:
 
  On vr, 2013-03-29 at 15:45 -0700, Junio C Hamano wrote:
  Dennis Kaarsemaker den...@kaarsemaker.net writes:
  
   ... Mirrored repositories don't
   maintain a reflog, even with core.logAllRefUpdates = true,...
  
  Are you sure about this?  When log_all_ref_updates is not set, by
  default we do not log for bare repositories, but other than that, we
  do not do anything special with respect to reflogs.
 
  I was, as I tried the recipe below, though with a different repo. Must
  have goofed something up, as it works now. Thanks for the braincheck :)
 
  That gives me a reasonable approximation of distinct pushes if I pull
  the mirror often enough.
 
 Instead of polling, why not git push --mirror whenever the
 original gets updated?

I considered that, but it has two downsides:
- Slows down the push as it needs to wait for this to complete
- Only works if you control the master, so it won't work with e.g. 
  github hosted repositories
-- 
Dennis Kaarsemaker
www.kaarsemaker.net

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