FredrikNoren / ungit

The easiest way to use git. On any platform. Anywhere.
MIT License
10.45k stars 640 forks source link

Stage by line/part #328

Closed seniorpreacher closed 10 years ago

seniorpreacher commented 10 years ago

Hi, I really like this nice tool and I'm testing it to bring it in my company, then we would like to contribute by development and probably with some donation.

I see it evolves nicely, but I miss some feature, that SourceTree is capable of, like searching in the whole history. But that's not a big issue, what I really miss is the ability to partly stage a file.

For example, I start to work on an Issue (we use JIRA) and I find something in the file that is related to another Issue or it's just a "not yet discovered bug" or anything. I don't want to write it down to a paper and come back later (after committing) to fix it, I would like to fix it now and exclude that specific line(s) from the current commit.

I hope you see my point. :)

FredrikNoren commented 10 years ago

Hey, happy to hear you're trying it out!

There's already an issue for this: #169 (though it is a bit nondescript) so closing this one as a duplicate.

But yeah in general, I can only agree that it would be really nice. It would probably require changing the current ungit staging model though so it's a little tricky to do though (but far from impossible!). See #98 for a little more discussion on that.

What's also good to know is that I recently implemented a plugin system to make it possible for people to implement stuff like this without blocking on me. See https://github.com/FredrikNoren/ungit/blob/master/PLUGINS.md

seniorpreacher commented 10 years ago

Ohh, sorry I haven't seen that Feature Request (but I went through ~all of them to avoid duplication... ) So I will follow the discussion in the other thread then :)

jung-kim commented 10 years ago

Just out of curiosity, how does source tree do it?

Does it literally flag for commit line by line or does it lump continuos lines together into a single committable block or is there anything like that?

seniorpreacher commented 10 years ago

Actually, it does both: image

On the right side you can see all the changes, grouped by files. (but you can see all the files) On the top of this side, there is a "Context" attribute, where you can set what a Hunk means, so if there are 2 changed lines but there is a not changed one between them, and the context is 3 lines, then they considered as 1 Hunk. You can stage these hunks or discard them if you want. If you select a line or more lines together, then you can stage that specific line(s).

This Hunk thing seems a bit larger feature, then the line based staging. But in practice it comes pretty helpful btw.

note: maybe custom design themes would be another good feature, because maybe it's a but easier to read in light background :)

FredrikNoren commented 10 years ago

Custom themes sound be totally possible through the plugins system too (using css) On 9 Mar 2014 12:02, "Daniel Salamon" notifications@github.com wrote:

Actually, it does both: [image: image]https://github-camo.global.ssl.fastly.net/a8f46ebd38deaf83902f2de3fef8012152f543d3/687474703a2f2f7477696d67732e636f6d2f64646a2f696d616765732f61727469636c652f323031332f303331332f41746c61737369616e4472444d6172636831392e676966

On the right side you can see all the changes, grouped by files. (but you can see all the files) On the top of this side, there is a "Context" attribute, where you can set what a Hunk means, so if there are 2 changed lines but there is a not changed one between them, and the context is 3 lines, then they considered as 1 Hunk. You can stage these hunks or discard them if you want. If you select a line or more lines together, then you can stage that specific line(s).

This Hunk thing seems a bit larger feature, then the line based staging. But in practice it comes pretty helpful btw.

note: maybe custom design themes would be another good feature, because maybe it's a but easier to read in light background :)

Reply to this email directly or view it on GitHubhttps://github.com/FredrikNoren/ungit/issues/328#issuecomment-37131848 .

FredrikNoren commented 10 years ago

Closing this one as a duplicate