git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Geoffrey De Smet <ge0ffrey.spam@gmail.com>
To: git@vger.kernel.org
Subject: Re: git reset respect remote repo (make git idiot proof)
Date: Wed, 03 Oct 2012 17:12:34 +0200	[thread overview]
Message-ID: <k4hkl1$jag$1@ger.gmane.org> (raw)
In-Reply-To: <CALkWK0mP36OXZ7kXZnA-KH3HB2mCLJuvx6iX2=LQawSCgM-ujA@mail.gmail.com>


Op 03-10-12 16:59, Ramkumar Ramachandra schreef:
> Hi Geoffrey,
>
> Geoffrey De Smet wrote:
>> [...]
>> The following commands are ok to do (because I have 2 unpushed commits):
>>   git reset --hard^1
>>   git reset --hard^2
>> but these are not and should be prevented (unless forced):
>>   git reset --hard^3
>>   git reset --hard^4
>>
>>
>> Is there any way to make git idiot proof by enabling that the local repo
>> should always respect the history of the remote repo (unless forced)?
>> Is there any way to make this a default for anyone who clones our 
>> blessed
>> repo?
>> No one that clones our blessed repo wants to come into the situation 
>> above.
>> And if they do, they can always force it.
> This makes little sense.
> Which remote?
To all remotes which have a relationship to this repo with the 
-respectRemote flag.
Normally, only the blessed remote will have this.
> What if I have multiple remotes?  Which branch? (Many
> of my branches are behind `master`).
Everytime a branch merges or rebases with a remote repository, it's 
flags the last commit of that remote repository as the pointOfNoReset 
commit.
If local branches merge or rebase with a local branch, the 
pointOfNoReset commit is transitively applied (only the last one wins).
git reset will fail to reset beyond the pointOfNoReset commit, unless 
forced.

Branches that are behind master, will have a pointOfNoReset commit in 
their history, if master goes forward afterwards, that won't affect 
those branches, not until they are merged.
>    What if I want different
> histories on different remotes?
Don't use the -respectRemote flag in the relationship between those 2 
repo's.
>   What about more advanced operations
> which implicitly 'reset' like rebase?
Them too. All operations would need to follow the -respectRemote flag's 
limitations, unless forced.
>    What if I want to rewrite
> history?
Don't use the -respectRemote flag in the relationship between this repo 
and any other repo.
Or force it.
>
> Ram

  reply	other threads:[~2012-10-03 15:14 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-03 14:49 git reset respect remote repo (make git idiot proof) Geoffrey De Smet
2012-10-03 14:59 ` Ramkumar Ramachandra
2012-10-03 15:12   ` Geoffrey De Smet [this message]
2012-10-03 16:40 ` Phil Hord
2012-10-04  8:59   ` Geoffrey De Smet
2012-10-05  3:11     ` Junio C Hamano
2012-10-05  5:35     ` Dirk Heinrichs
2012-10-03 16:52 ` Andreas Schwab
2012-10-04  8:56   ` Geoffrey De Smet

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='k4hkl1$jag$1@ger.gmane.org' \
    --to=ge0ffrey.spam@gmail.com \
    --cc=git@vger.kernel.org \
    /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).