"We don't use SVN and stuff here"



  • @powerlord said:

    It could be worse. It could be git where you can't pull a branch if you have changes to one of the files it modifies unless you stash said file first. Even if a merge wouldn't affect the part of the file you've modified. Then there's the fact that git's revert seems to work differently than everyone else's revert (you can't revert local changes, only committed changes) where it's easier to just delete the file and issue the pull command again...

    Git's biggest problem is terminology. What you're looking for is a reset/checkout, not a revert. Revert takes the diff of the specified, commit, reverses it, then applies it to the current branch. It is explicitly a tool for commits. If you want to revert a part of the working copy, check out the file you want to revert - "git checkout ./path/to/file.ext" and you'll get the repository copy back. If you add a "-p" to that command, it will show you a diff of that file between the working copy and index, and let you revert changes piecemeal.@powerlord said:

    Speaking of commit and merge, git leaves an annoying message in the history about auto-merging when you finally do push commits back to the central repo under the commit-then-merge paradigm.

    It inserts that message by default, but still pops up an editor for you to edit the message before you commit. You can take it out if you want to.@powerlord said:

    Of course, Mercurial manages to side step some of these problems by making you have to pull then update your working copy instead of making it a single-step process. Which causes problems if you forgot to run the update command like I have in the past and wonder why you still have problems already committed to the central repo.

    For direct comparisons between Git and Mercurial, you may want to look at Mercurial's Wiki page on GitConcepts. Mercurial Pull is like Git Fetch.



  • @Circuitsoft said:

    Git's Computing's biggest problem is terminology.



  • @boomzilla said:

    @powerlord said:

    Of course, Mercurial  manages to side step some of these problems by making you have to pull then update your working copy instead of making it a single-step process like every other VCS on the planet.  I won't even go into how many times I've forgotten to issue an update after pulling simply because no one else makes you do that.

    The need to update after a pull in mercurial is annoying. A sensible behavior would be to automatically update to the tip of the current branch if you have no uncommitted changes. I've gotten burned by that, too.

    You CAN set up your main hgrc (or mercurial.ini) file so that the pull command defaults to using -u/--update. I think what you're describing is what that would do. http://www.selenic.com/mercurial/hgrc.5.html#defaults



  • I've seen a lot of this.

    The worst is when the "source code" is only located on the production web server. If you need to make a change, you change it in production.



  • @kilroo said:

    @boomzilla said:
    @powerlord said:

    Of course, Mercurial  manages to side step some of these problems by making you have to pull then update your working copy instead of making it a single-step process like every other VCS on the planet.  I won't even go into how many times I've forgotten to issue an update after pulling simply because no one else makes you do that.

    The need to update after a pull in mercurial is annoying. A sensible behavior would be to automatically update to the tip of the current branch if you have no uncommitted changes. I've gotten burned by that, too.

    You CAN set up your main hgrc (or mercurial.ini) file so that the pull command defaults to using -u/--update. I think what you're describing is what that would do. http://www.selenic.com/mercurial/hgrc.5.html#defaults

     

    I'll have to look into that on my Linux machine.  I've already changed the settings on all 3 TortoiseHg instances I'm using, although I kept forgetting to do so on my laptop until earlier this week when I ended up using it a lot due to power outages in the area.

    I should probably note that I don't actually have check-in access to any Mercurial repos... I just use it to acquire code from repositories so I can make local modifications or because I need it to compile something else (SourceMod extensions require a few dependencies, all of which are in Mercurial repos).

    (work uses svn and tfs, I only need git and mercurial for personal stuff)


Log in to reply