IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#i2p-dev
/2023/11/08
zzz eyedeekay, ETA for your banlist MR to go in?
eyedeekay Tonight I think, no later than tomorrow noon
zzz ok, I need to wait for that before offering my version of a fix for FDLMH #468 to avoid conflicts
zzz I'm getting better at git merging but it's still not fun
eyedeekay OK, I'll do my best to make sure it's tonight not tomorrow
dr|z3d what mergetool are you using, zzz?
zzz xxdiff --unmerge3 for now
dr|z3d is that terminal based?
zzz used it for years but just discovered it handles git's diff3 format too
zzz merge conflicts on pull is where git is very different from mtn, so it's taken a while for me to wrap my head around it
dr|z3d so, wait, you're manually invoking xxdiff on conflicts?
dr|z3d maybe you're happy with what you got, in which case, feel free to ignore my advice. otherwise, when you have conflicts, if you have a default mergetool configured in git, you can just invoke git mergetool and it'll sequentially open all the conflicts. and there's nothing that comes even close to meld in the ubuntu repos, head and shoulders above everything else.
zzz thx, haven't tried that yet
zzz how to disable git staging everything when there's a conflict?
dr|z3d when you say staging, not sure I understand what you mean. are you asking howto revert back to whatever you had before the merge attempt, assuming you have no local workspace changes?
zzz it automatically stages all the local changes (i.e. green in git status) except the conflicted files
zzz at least for me
dr|z3d so you want to merge while retaining all your local changes I guess. you could use git stash and git pop stash, maybe.
dr|z3d or git stash pop, whatever it is.
zzz thats what I do
dr|z3d I always make sure I've committed everything in my workspace before merging or cherry-picking.
zzz and on the pop, it leaves the stash there, stages the unconflicted files, and complains about the conflicted files
dr|z3d you could also just checkout a commit, merge in that branch, and then pull the commit back into your working branch afterwards.
zzz ok my workflow is different; I have 50-100 changed files with various WIP, soaking for days/weeks/months
zzz all in one workspace. Test everything at once.
dr|z3d that's not a workflow, that's carnage! :)
zzz that's been my process for about 10 years. It's the only way to get things adequately tested.
dr|z3d do you have a "clean" trunk branch?
dr|z3d me, I have trunk (yours), dev, and master which is just remote. when I need to experiment, I'll create a new branch at the point where I know I'm going to mess with things, and when I'm happy I'll pull the commits back into the dev branch and probably nuke that experimental branch.
zzz testing takes a long time; I have to test everything at once. Failures may not appear for a long time
zzz that's the only branch I have. I don't check in WIP, even to a local branch, unless I'm doing an MR for eyedeekay to look at
zzz yeah I get it
dr|z3d not saying my process is any better than yours, you do you, as you'd say :)
zzz for me the top priority is to maximize/optimize testing, because I hate testing
zzz right now my wip is 63 files changed, 4386 lines of diff, some changes dating back a year or more, would probably be 30 different branches/MRs if split out
zzz so I'll test some stuff for months at least
zzz nothing goes in untested
zzz this is a 20 year old security project, the most important thing is to not break it
dr|z3d amen to that.
RN dr|z3d, looking at meld...
RN do I have to do something to connect it to git? It is just asking me for files to compare.
dr|z3d you need to configure it as your default merge tool for git, RN. see the link I referenced for zzz above.
RN ah... hmmm...
RN ok, so that goes over options but no examples... I think this might help me more: stackoverflow.com/questions/34119866/setting-up-and-using-meld-as-your-git-difftool-and-mergetool
RN (no example for meld)
dr|z3d git mergetool --tool=meld
dr|z3d try that.
dr|z3d in your ~/.gitconfig file, you should see something like this under the [merge] section:
dr|z3d [merge]
dr|z3d tool = meld
dr|z3d [mergetool "meld"]
dr|z3d # Choose one of these 2 lines (not both!) explained below.
dr|z3d cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
dr|z3d you should be aware that meld, configured like this, will only be invoked for merge conflicts.
RN yeah, that is similar to what was suggested on stackoverflow. They suggested a couple more lines to add.
RN I invoked it manually and it is imho a nice tool
RN will see when it gets triggered durring my normal builds
dr|z3d you're unlikely to see it with git during normal operation, RN, unless you're pulling from one branch into another.
RN well my local branch for the javadocs won't let me pull unless I stash so I guess I'll probably not see it activate
dr|z3d you can commit to your local branch and then pull.
dr|z3d you'll then see a conflict notification if the project build.xml changes and then you can invoke git mergetool.
RN I've avoided commit because I didn't want to get close to accidentally pushing something. I guess it is time for me to take a closer look at git commit
RN and in the tool, dr|z3d the arrow and the x don't have a tool tip... I presume the arrow means move the change over and the x means keep the second version of the line?