Accessing the reflog remotely

6 messages, 6 authors, 2016-06-15 · open the first message on its own page

Accessing the reflog remotely

From: Matthieu Moy <hidden>
Date: 2016-06-15 22:47:39

Hi,

I guess the answer is "no", but I'll still ask in case ...

Is it possible to access the reflog of a remote repository other than
logging into this repository?

My use-case is the following: I want to checkout "the last revision
pushed in master on ssh://host/repo/ on day D at midnight" (to fetch
the project of my students ;-) ). If it were locally, I'd do

  git checkout 'origin/master@{Nov 3 00:00:00}'

But this tells me where _my_ local master was on that date (i.e. the
last revision I had pulled).


So, the best I can think of is:

ssh host 'cd /repo/ ; git tag final-version "master@{Nov 3 00:00:00}"'
git fetch --tags
git checkout tags/final-version

Is there a better way?

Thanks,

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

Re: Accessing the reflog remotely

From: Emanuele Aina <hidden>
Date: 2016-06-15 22:47:39

Matthieu Moy provò:
  git checkout 'origin/master@{Nov 3 00:00:00}'

But this tells me where _my_ local master was on that date (i.e. the
last revision I had pulled).

So, the best I can think of is:

ssh host 'cd /repo/ ; git tag final-version "master@{Nov 3 00:00:00}"'
git fetch --tags
git checkout tags/final-version
At least you can avoid the tag:

git checkout `ssh host 'GIT_DIR=/repo/ git rev-parse "master@{Nov 3 00:00:00}"'`

-- 
Buongiorno.
Complimenti per l'ottima scelta.

Re: Accessing the reflog remotely

From: Tomas Carnecky <hidden>
Date: 2016-06-15 22:47:40

On Nov 4, 2009, at 10:35 AM, Matthieu Moy wrote:
Hi,

I guess the answer is "no", but I'll still ask in case ...

Is it possible to access the reflog of a remote repository other than
logging into this repository?

My use-case is the following: I want to checkout "the last revision
pushed in master on ssh://host/repo/ on day D at midnight" (to fetch
the project of my students ;-) ). If it were locally, I'd do

 git checkout 'origin/master@{Nov 3 00:00:00}'

But this tells me where _my_ local master was on that date (i.e. the
last revision I had pulled).

Keep in mind that bare repos don't have reflogs by default, so unless  
you enabled the reflog manually there is none.

tom

Re: Accessing the reflog remotely

From: Nicolas Pitre <nico@fluxnic.net>
Date: 2016-06-15 22:47:40

On Wed, 4 Nov 2009, Matthieu Moy wrote:
Hi,

I guess the answer is "no", but I'll still ask in case ...

Is it possible to access the reflog of a remote repository other than
logging into this repository?
No.
My use-case is the following: I want to checkout "the last revision
pushed in master on ssh://host/repo/ on day D at midnight" (to fetch
the project of my students ;-) ). If it were locally, I'd do

  git checkout 'origin/master@{Nov 3 00:00:00}'

But this tells me where _my_ local master was on that date (i.e. the
last revision I had pulled).
You could checkout the first revision which committer's date is older 
than midnight.  Of course that means you have to trust that students 
didn't mess up with time stamps.


Nicolas

Re: Accessing the reflog remotely

From: Sverre Rabbelier <hidden>
Date: 2016-06-15 22:47:40

Heya,

On Wed, Nov 4, 2009 at 10:35, Matthieu Moy [off-list ref] wrote:
My use-case is the following: I want to checkout "the last revision
pushed in master on ssh://host/repo/ on day D at midnight" (to fetch
the project of my students ;-) ). If it were locally, I'd do
I think your best bet here would be to either run a cronjob at the
target time that tags all submissions, or to deny pushes after the
target time with a pre-push hook.

-- 
Cheers,

Sverre Rabbelier

Re: Accessing the reflog remotely

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:47:40

Matthieu Moy [off-list ref] writes:
I guess the answer is "no", but I'll still ask in case ...

Is it possible to access the reflog of a remote repository other than
logging into this repository?

My use-case is the following: I want to checkout "the last revision
pushed in master on ssh://host/repo/ on day D at midnight" (to fetch
the project of my students ;-) ). If it were locally, I'd do
This won't solve your problem but I'll mention it anyway as it may be
related.

A distribution point repository like this is often bare, and reflogs are
not enabled in bare repositories (primarily due to my stupidity^Wbeing
overly cautious---I was very skeptical about reflogs when we introduced
it).  It may make sense to enable reflogs everywhere by default in some
major version bump.

Also a distribution point repository is often served by gitweb and it
would be really nice if there were an option to allow its summary view
to show commits annotated with reflog entries, e.g.

    ----------------------------------------------------------------
    2 days ago          JCH Merge branch 'maint'
    (pushed 6 hrs ago)
    ----------------------------------------------------------------
    2 days ago          DVL Makefile: add compat/bswap.h to LIB_H
    ----------------------------------------------------------------
    3 days ago          JCH Revert "Don't create the $GIT_DIR/branches directory on init"
    (pushed 60 hours ago)
    ----------------------------------------------------------------
    4 days ago          JCH fixup tr/stash-format merge
    ----------------------------------------------------------------
        ...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help