emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Stash


From: Richard Stallman
Subject: Re: Stash
Date: Thu, 09 Apr 2015 09:16:03 -0400

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > Lack of a facility that only merges into the workspace and pays no
  > attention to the revision history is a deliberate design choice.  One
  > reason that git developers do not add such a mode is that it can and
  > does create future conflicts.

I prefer future conflicts.  Conflicts are normal, and no problem.

  >   What can (and did) happen in CVS is
  > that developers who preferred to keep pending changes in their
  > workspaces would repeatedly cvs up and repeatedly resolve different
  > conflicts,

I've done this.  It is not a great problem.

               which would end up all jammed together in a single commit.

The commit I ultimately make contains only my own change.
All the changes from the repository, that conflicted with my change,
I will have merged in.

  > However, the resolutions would not be recorded individually in the
  > history.

As long as I resolve the conflicts myself, which is like unofficial
rebasing, why should that be recorded anywhere?  No one needs to know
it.

Imagine if I had written all my changes just a minute before
installing them.  That would not bother anyone.  This sort of updating
would produce the same results, so it should not bother anyone either.

              In git, this causes headaches for third parties who were
  > cherrypicking or rebasing because they had only *some* of the
  > conflicting changes, and had to decide for themselves how to resolve
  > those conflicts that had resolutions but not conflicting changes.

I can't understand that, because it involves things about Git that I
don't know and probably never will know.

However, I am skeptical of the claim that installing a simple
localized change, all at once, could cause complexities like that.  If
I push just one commit that changes a file, Savannah will contain zero
changes from me before I push it, and one change from me after I push
it.

  > You could keep track of whether previous pulls had required conflict
  > resolution, and refuse to update if there would be conflicts again.

I could, but I wouldn't.  I'd make it work in all cases, as CVS does.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! See stallman.org/skype.html.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]