git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Gulshan Singh <gsingh2011@gmail.com>
To: Fredrik Gustafsson <iveqy@iveqy.com>
Cc: git@vger.kernel.org
Subject: Re: Why can't I push from a shallow clone?
Date: Fri, 26 Jul 2013 12:12:04 -0700	[thread overview]
Message-ID: <CANEZYrdR3xLRSQAo6rroN3TLv48HEKp4_t95WEf6rm8-+r+2tw@mail.gmail.com> (raw)
In-Reply-To: <20130726065528.GA4940@paksenarrion.iveqy.com>

Hey Fredrick,

It's good to know that work is being done on this. I still want to
understand it though, so I guess I'll ask specific questions about
Junio's response. He states,

"If you cloned shallowly some time ago, worked without communicating
with the other side while the other side progressed, AND if the other
side's progress included a rewind & rebuild of the history, you would
see a similar topology.
The leftmost 'S' in the above picture might have been the tip of the
branch when you shallowly cloned with depth 1, and since then the
remote end may have discarded topmost three commits and have rebuilt
its history that leads to the rightmost 'R'. In such a case pushing to
the remote's HEAD will fail."

So as an example, if you shallow clone a branch, then someone squashes
the head commit and makes a new commit, you won't be able to push to
HEAD because the parent has changed. But if someone does that, I don't
think you would be able to push even if it was a full clone. That's
why it's usually not a good idea to rebase shared branches. So did I
misunderstand the scenario?


On Thu, Jul 25, 2013 at 11:55 PM, Fredrik Gustafsson <iveqy@iveqy.com> wrote:
> On Thu, Jul 25, 2013 at 07:33:16PM -0700, Gulshan Singh wrote:
>> I've been trying to figure out why I can't push from a shallow clone
>> (using --depth) to a repository. I've made simple examples where it
>> works, but I've read that in doesn't work in every case. However, I
>> can't come up with a case where it doesn't work. Googling gives this
>> answer: http://stackoverflow.com/questions/6900103/why-cant-i-push-from-a-shallow-clone,
>> but I don't completely understand the explanation, so I was hoping
>> someone could explain it.
>
> I can't explain it better than what Junio did in the link you just
> provide. However there's ongoing work to allow shallow clones to be able
> to push. You can read about it here:
> http://thread.gmane.org/gmane.comp.version-control.git/230612/focus=230878
>
> --
> Med vänliga hälsningar
> Fredrik Gustafsson
>
> tel: 0733-608274
> e-post: iveqy@iveqy.com



-- 
Gulshan Singh
University of Michigan, Class of 2015
College of Engineering, Computer Science Major
gulshan@umich.edu | 248.961.6317
Alternate E-mail: gsingh2011@gmail.com

  reply	other threads:[~2013-07-26 19:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-26  2:33 Why can't I push from a shallow clone? Gulshan Singh
2013-07-26  6:55 ` Fredrik Gustafsson
2013-07-26 19:12   ` Gulshan Singh [this message]
2013-07-26 21:48     ` Philip Oakley
2013-07-26  9:38 ` Konstantin Khomoutov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CANEZYrdR3xLRSQAo6rroN3TLv48HEKp4_t95WEf6rm8-+r+2tw@mail.gmail.com \
    --to=gsingh2011@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=iveqy@iveqy.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).