Re: [petsc-dev] Commit squashing in MR

2021-03-04 Thread Jed Brown
If you're in Emacs, Magit (https://github.com/magit/magit) is excellent for much the same things, and works over remote (i.e., I'm editing "ssh:thathost:path/to/file.c" and invoke magit). There's also a (partial) magit clone for vscode. https://marketplace.visualstudio.com/items?itemName=kahole

Re: [petsc-dev] Commit squashing in MR

2021-03-04 Thread Patrick Sanan
I have also been enjoying using lazygit (thanks, Lisandro, for the tip!). It's a similar sort of thing but runs in the terminal. I find it very useful for those things where the command line git tool falls down (staging parts of files, browsing large sets of changes), and I like that I don't h

Re: [petsc-dev] Commit squashing in MR

2021-03-03 Thread Jacob Faibussowitsch
This is certainly useful, prior to this I was using git diff $(git merge-base --fork-point main) To see branch changes (but this would dump all changes in all files in terminal, so quite unwieldy for large diffs)... Best regards, Jacob Faibussowitsch (Jacob Fai - booss - oh - vitch) Cell: (31

Re: [petsc-dev] Commit squashing in MR

2021-03-03 Thread Satish Balay via petsc-dev
Also: sometimes I don't want to see the individual commits - just the overall change in this branch [aka the MR 'changes' view] git diff main...origin/jacobf/2020-09-09/feature/petscmapping/future Only diff for include/petsc.h git diff main...origin/jacobf/2020-09-09/feature/petscmapping/future

Re: [petsc-dev] Commit squashing in MR

2021-03-03 Thread Satish Balay via petsc-dev
And I frequently use it - for ex, to check (only) the commits in a branch - say origin/jacobf/2020-09-09/feature/petscmapping/future gitk main..origin/jacobf/2020-09-09/feature/petscmapping/future [equivalent to "git log main..origin/jacobf/2020-09-09/feature/petscmapping/future"] And then che

Re: [petsc-dev] Commit squashing in MR

2021-03-03 Thread Jacob Faibussowitsch
> 'gitk' is easier to read [for me] than 'git log --graph' Where was this my entire lifeā€¦ best kept git secret! Best regards, Jacob Faibussowitsch (Jacob Fai - booss - oh - vitch) Cell: (312) 694-3391 > On Mar 3, 2021, at 13:55, Satish Balay wrote: > > 'gitk' is easier to read [for me] than '

Re: [petsc-dev] Commit squashing in MR

2021-03-03 Thread Mark Adams
On Wed, Mar 3, 2021 at 2:53 PM Jacob Faibussowitsch wrote: > git: 'graph' is not a git command. See 'git --help'. > > > I have it as an alias: > > graph = !git log --graph --pretty=format:'%Cred%h%Creset > -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' > --abbrev-commit --date=re

Re: [petsc-dev] Commit squashing in MR

2021-03-03 Thread Junchao Zhang
Oh, graph is an alias in my .gitconfig [alias] graph = log --graph --decorate --abbrev-commit --pretty=oneline --Junchao Zhang On Wed, Mar 3, 2021 at 1:51 PM Mark Adams wrote: > > > On Tue, Mar 2, 2021 at 10:02 PM Junchao Zhang > wrote: > >> I am a naive git user, so I use interactiv

Re: [petsc-dev] Commit squashing in MR

2021-03-03 Thread Satish Balay via petsc-dev
'gitk' is easier to read [for me] than 'git log --graph' Satish On Wed, 3 Mar 2021, Jacob Faibussowitsch wrote: > > git: 'graph' is not a git command. See 'git --help'. > > I have it as an alias: > > graph = !git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset > %s %Cgreen(%c

Re: [petsc-dev] Commit squashing in MR

2021-03-03 Thread Jacob Faibussowitsch
> git: 'graph' is not a git command. See 'git --help'. I have it as an alias: graph = !git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative Best regards, Jacob Faibussowitsch (Jacob Fai - booss - oh - vi

Re: [petsc-dev] Commit squashing in MR

2021-03-03 Thread Satish Balay via petsc-dev
On Wed, 3 Mar 2021, Mark Adams wrote: > On Tue, Mar 2, 2021 at 11:09 PM Jacob Faibussowitsch > wrote: > > > I do not get this. I thought that rebasing with main put all the main > > changes in before your commits. I have never seen any interspersed, so I do > > not understand this. > > > > > >

Re: [petsc-dev] Commit squashing in MR

2021-03-03 Thread Mark Adams
On Tue, Mar 2, 2021 at 10:02 PM Junchao Zhang wrote: > I am a naive git user, so I use interactive git rebase. Suppose I am on > the branch I want to modify, > > 1) Use git graph to locate an upstream commit to be used as the base > $ git graph > Humm 14:49 adams/cusparse-lu-landau= /gpfs

Re: [petsc-dev] Commit squashing in MR

2021-03-03 Thread Satish Balay via petsc-dev
On Wed, 3 Mar 2021, Mark Adams wrote: > On Tue, Mar 2, 2021 at 11:02 PM Barry Smith wrote: > > > > > > > On Mar 2, 2021, at 9:24 PM, Mark Adams wrote: > > > > Ah, 'git graph' I will try that next time. > > > > I use 'git rebase -i HEAD~N', but you need an N. > > > > After you 'git rebase origin

Re: [petsc-dev] Commit squashing in MR

2021-03-03 Thread Mark Adams
On Tue, Mar 2, 2021 at 11:33 PM Jed Brown wrote: > Satish Balay via petsc-dev writes: > > > On Wed, 3 Mar 2021, Blaise A Bourdin wrote: > > > >> Hi, > >> > >> This is not technically a petsc question. > >> It would be great to have a short section in the PETSc integration > workflow document exp

Re: [petsc-dev] Commit squashing in MR

2021-03-03 Thread Mark Adams
On Tue, Mar 2, 2021 at 11:09 PM Jacob Faibussowitsch wrote: > I do not get this. I thought that rebasing with main put all the main > changes in before your commits. I have never seen any interspersed, so I do > not understand this. > > > Mark, do you rebase your branch over main first or do yo

Re: [petsc-dev] Commit squashing in MR

2021-03-03 Thread Mark Adams
On Tue, Mar 2, 2021 at 11:02 PM Barry Smith wrote: > > > On Mar 2, 2021, at 9:24 PM, Mark Adams wrote: > > Ah, 'git graph' I will try that next time. > > I use 'git rebase -i HEAD~N', but you need an N. > > After you 'git rebase origin/main' you get other commits interspersed in > with yours, >

Re: [petsc-dev] Commit squashing in MR

2021-03-03 Thread Zhang, Hong via petsc-dev
From: petsc-dev on behalf of Patrick Sanan Sent: Wednesday, March 3, 2021 12:23 AM To: Jed Brown Cc: Satish Balay via petsc-dev Subject: Re: [petsc-dev] Commit squashing in MR The whole section on git in the dev manual needs some attention. (It was moved there in the consolidat

Re: [petsc-dev] Commit squashing in MR

2021-03-02 Thread Patrick Sanan
The whole section on git in the dev manual needs some attention. (It was moved there in the consolidation of docs we had scattered in various places, but hasn't been expertly updated yet). Ideal, I think, would be to find some good, external instructions and link to them, under the idea that we

Re: [petsc-dev] Commit squashing in MR

2021-03-02 Thread Jed Brown
Satish Balay via petsc-dev writes: > On Wed, 3 Mar 2021, Blaise A Bourdin wrote: > >> Hi, >> >> This is not technically a petsc question. >> It would be great to have a short section in the PETSc integration workflow >> document explaining how to squash commits in a MR for git-impaired >> dev

Re: [petsc-dev] Commit squashing in MR

2021-03-02 Thread Barry Smith
> On Mar 2, 2021, at 10:09 PM, Jacob Faibussowitsch wrote: > >> I do not get this. I thought that rebasing with main put all the main >> changes in before your commits. I have never seen any interspersed, so I do >> not understand this. > > Mark, do you rebase your branch over main first o

Re: [petsc-dev] Commit squashing in MR

2021-03-02 Thread Jacob Faibussowitsch
> I do not get this. I thought that rebasing with main put all the main > changes in before your commits. I have never seen any interspersed, so I do > not understand this. Mark, do you rebase your branch over main first or do you merge main intro your branch to update it? If you rebase, you

Re: [petsc-dev] Commit squashing in MR

2021-03-02 Thread Barry Smith
> On Mar 2, 2021, at 9:24 PM, Mark Adams wrote: > > Ah, 'git graph' I will try that next time. > > I use 'git rebase -i HEAD~N', but you need an N. > > After you 'git rebase origin/main' you get other commits interspersed in with > yours, I do not get this. I thought that rebasing with

Re: [petsc-dev] Commit squashing in MR

2021-03-02 Thread Satish Balay via petsc-dev
On Wed, 3 Mar 2021, Blaise A Bourdin wrote: > Hi, > > This is not technically a petsc question. > It would be great to have a short section in the PETSc integration workflow > document explaining how to squash commits in a MR for git-impaired developers > like me. > > Anybody wants to pitch i

Re: [petsc-dev] Commit squashing in MR

2021-03-02 Thread Mark Adams
Ah, 'git graph' I will try that next time. I use 'git rebase -i HEAD~N', but you need an N. After you 'git rebase origin/main' you get other commits interspersed in with yours, so I try to rebase -i before rebasing over main. Then rebase over main and you have a clean and updated branch. Pick N

Re: [petsc-dev] Commit squashing in MR

2021-03-02 Thread Junchao Zhang
I am a naive git user, so I use interactive git rebase. Suppose I am on the branch I want to modify, 1) Use git graph to locate an upstream commit to be used as the base $ git graph * 0d5433e9 (HEAD -> jczhang/sf-change-api) SF: rename SFCreateEmbeddedSF to SFCreateEmbeddedRootSF * e7314fbb SF: a

[petsc-dev] Commit squashing in MR

2021-03-02 Thread Blaise A Bourdin
Hi, This is not technically a petsc question. It would be great to have a short section in the PETSc integration workflow document explaining how to squash commits in a MR for git-impaired developers like me. Anybody wants to pitch in, or explain me how to do this? Regards, Blaise -- A.K.