Clay Wells on 16 Nov 2017 12:43:47 -0800 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: [PLUG] Revision Control for the Rest of Us |
On 11/16/2017 02:23 PM, JP Vossen wrote: > On 11/16/2017 10:08 AM, Rich Freeman wrote: >> On Wed, Nov 15, 2017 at 9:16 PM, JP Vossen <jp@jpsdomain.org> wrote: >>> And damn it, mutable >>> history is a BUG not a feature (unless your project is at the scope and >>> scale of the Linux kernel)! >>> >> >> While accidentally mutable history is a bug, I'm not sure that it is >> wise to leave the option closed. I'll give some use cases: > > <snip> > > You forgot one: "oops, I just committed the super-secret > password/private key!" But that's really just a special case of your > 50G example. > > And...yup. In those very special and hopefully very rare cases, > mutable history makes sense. I *still* think it's a bug, 99.999% of > the time. > I know it's not a bug. The flexibility is there for a reason. Generally speaking, most people do not need to worry about changing history. It's less like a chainsaw and more like the 6th gear of a Porche. > The solution in all of those cases is: > 1. Dump the repo > 2. Edit the dump to remove the Bad Thing > 3. Import the dump > This is simply not true. 1. You commit a 50GB whatever a year ago and you now want to remove it.. good luck.. doesn't matter what VCS you're using. However, I'll put money on the fact that Git will be much better at cherry-picking a commit out of your repo history than most/all other VCSs. Perhaps this is just my opinion because I'm comfortable using Git and have been for years. 2. git reset --hard HEAD~1 will remove the most recent commit. 3. You should be working in a feature branch. Branches in Git are simple and light weight. Therefore, if you're bad things happen then only your local branch is impacted. You can then fix it up and merge into master once you have everything in order. This is where mutable history can come in handy. So people prefer a clean and short history. Your feature branch can include 20 commits but it can be merge into master in such a way that it appears as one commit. For the record, Git commits are not hashes of every previous commit. This is simply incorrect. Someone mistakenly said that they were in a previous post. > Does that really, REALLY suck for all kinds of reasons? Yup. > So...don't commit Bad Things. > 100% it would but that's certainly not the only option. There's a lot of mis/non-understanding out there. If you're elite enough to use Gentoo then by all means you should be able to use Git without issue. I'm not trying to be a troll. Just adding my $0.02, FWIW Cheers, Clay ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug