Ticket #39 (closed: fixed)
Diff local changes function missing
| Reported by: | mgaugusch | Owned by: | alwin |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | All | Version: | 0.6.x |
| Severity: | feature | Keywords: | RESOLVED |
| Cc: |
Description
I couldn't find a function to see the differences between the working copy and the checked out revision. For people who work offline this function is more than just useful ;-)
Attachments
Change History
comment:1 Changed 8 years ago by mgaugusch
- Owner changed from anonymous to alwin
- Status changed from new to assigned
comment:2 Changed 8 years ago by alwin
As I understand subversion, diff in working copy is always made against last checked out/updated/committed version. eg., "Diff against head" means nothing then "Diff my working copy against that one you know to be the last one" eg. that one stored in the .svn-subdirectories inside a working copy -> no network access.
Correct me if I'm wrong.
comment:3 Changed 8 years ago by mgaugusch
I don't think so. "Diff against head" goes to the repository (and I tested it by stopping the apache on my svn server machine, which causes kdesvn to fail) and diffs against the latest revision. The functionality that I want is like the simple command line "svn diff myLocalFile" which shows the differences between the local file and the version of the local file that was originally fetched from the repository. (See "Look Ma! No Network!" at http://svnbook.red-bean.com/en/1.1/ch03s05.html#svn-ch-3-sect-5.3.3)
PS: kdesvn is really, really cool!! Congrats and keep on the good work!
comment:4 Changed 8 years ago by alwin
I tried it again: removing network cable or shutting down interfaces: diff will made in repository only, eg., I got a difference (with kdesvn and native command line). And looking to that page you gaved said the same. I think if subversion FINDS a connection it tries to use it. Otherwise it uses the cache? and "Diff against head" on "myfile" is as what I saw exact same like "svn diff myfile" in code. I'll check it again of course.
I'll take a look, too, if there is a special option I'll implement it.
comment:5 Changed 8 years ago by alwin
- Keywords RESOLVED added
- Status changed from assigned to closed
- Resolution set to fixed
- Milestone set to development
Oh, I found the reason. It is fixed in both commandline and gui, so in next release diffs are realy made local if no revision is given.
comment:6 Changed 8 years ago by mbiebl
- Keywords FEEDBACK added; RESOLVED removed
- Owner changed from alwin to mbiebl
- Status changed from closed to assigned
- Resolution fixed deleted
I think you have to distinguish BASE and HEAD, where BASE is the latest local revision and HEAD the latest remote revision (and obviously BASE <= HEAD). A "svn diff" makes a diff against BASE hence it doesn't need network access. So my suggestion would be to provide two commands: 1.) Diff against BASE [svn diff -r BASE or just svn diff] 2.) Diff against HEAD (needs network access) [svn diff -r HEAD]
Thoughts?
comment:7 Changed 8 years ago by mbiebl
- Keywords FEEDBACK removed
- Owner changed from mbiebl to alwin
comment:8 Changed 8 years ago by alwin
- Keywords RESOLVED added
- Status changed from assigned to closed
- Resolution set to fixed
made so - two entries in menues
comment:9 Changed 8 years ago by mgaugusch
- Keywords FEEDBACK added; RESOLVED removed
- Status changed from closed to assigned
- Resolution fixed deleted
That's exactly how I meant it to be. Although I don't know if an average user is familiar with the "BASE" term (I'm not). I'd call it "Diff local changes" and "Diff against HEAD".
comment:10 Changed 8 years ago by alwin
- Keywords RESOLVED added; FEEDBACK removed
- Status changed from assigned to closed
- Resolution set to fixed
ok, renamed
