Re: [fossil-users] Something like rollback

2012-08-16 Thread Nick Zalutskiy
This is close to what I'm looking for. Thank you.

-Nick


On Thu, Aug 16, 2012 at 7:36 AM, Konstantin Khomoutov 
flatw...@users.sourceforge.net wrote:

 On Wed, 15 Aug 2012 22:13:38 -0400
 Simon Tremblay stm...@hotmail.com wrote:

  On 8/15/12 12:21 PM, Nick Zalutskiy wrote:
  Ideally I'd like to revert that commit somehow and do two smaller
  commits thereafter. Since there is no rewriting history in fossil, I
  assume that this would involve doing a new commit that is the
  opposite of the incorrect one, and then replying the changes one a
  time. How would I do this?
 
  I'm not familiar enough with fossil to recommend you the best
  solution for your problem.
 
  But, an uncommit feature is currently in the fossil to do list at:
  http://www.fossil-scm.org/index.html/wiki?name=To+Do+List
 
  It has been added on 2012-08-07.

 I have recently asked about something like `git revert` and have been
 given an answer [1] that the way to back out a selected commit is to do
 $ fossil merge --backout that_commit_sha1

 I'm not sure you can easily do that replying changes one at a time
 after that.  You could, in theory, get the diff introduced by the
 reverted commit, save it to a file and then apply it hunk-by-hunk
 exercising your text editing skills and the `patch` program.

 1.
 http://permalink.gmane.org/gmane.comp.version-control.fossil-scm.user/9691
 ___
 fossil-users mailing list
 fossil-users@lists.fossil-scm.org
 http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] Something like rollback

2012-08-15 Thread Nick Zalutskiy
My situation:

* Working on a new feature.
* Multiple files edited.
* Notice a bug in another file, fix it.
* Decide to commit just that file with the fix.
* Type: fossil com -m Small fix. [and crucially press enter by mistake
before specifying the file name to commit]
* ALL changes get committed (and synced) under the commit message Small
fix.

Ideally I'd like to revert that commit somehow and do two smaller commits
thereafter. Since there is no rewriting history in fossil, I assume that
this would involve doing a new commit that is the opposite of the
incorrect one, and then replying the changes one a time.

How would I do this?

-Nick
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] fossil http does not allow periods in fossil name, fossil server does

2012-01-18 Thread Nick Zalutskiy
Dug through the source a bit. It seems this is by design, from
main.c:cmd_http - main.c:process_one_web_page

  /* To avoid mischief, make sure the repository basename contains no
  ** characters other than alphanumerics, -, /, and _.
  */
  for(j=strlen(g.zRepositoryName)+1, k=0; zRepo[j]  ki-1; j++, k++){
if( !fossil_isalnum(zRepo[j])  zRepo[j]!='-'  zRepo[j]!='/' ){
  zRepo[j] = '_';
}
  }

This is reasonable, but so are periods in file names. =)

* You should return a not found error if there are illegal characters
versus silently replacing them with an underscore. I did not realize
this would be the case until I looked at the source.

$ fossil clone http://fossils.example.com/repo.1.master local.fossil
will actually fetch /dir/on/host/repo_one_master.fossil
$ fossil clone http://fossils.example.com/repo_1.master local.fossil
will fetch the same thing for no obvious reason,
even if there are two different files, repo_1.master.fossil and
repo.1.master, on the server

* The list of allowed characters should probably be longer, if only
for consistency with 'fossil server'. We can even allow periods and
check the result against file.c:file_is_canonical to avoid said
mischief?

Non of this is catastrophic, but... surprised me nonetheless.

Thanks!

-Nick


On Wed, Jan 18, 2012 at 1:45 AM, Nick Zalutskiy pace...@gmail.com wrote:

 I have setup fossil to serve repositories using inetd (xinetd in my case) as 
 per http://fossil-scm.org/index.html/doc/tip/www/server.wiki

 Lets say http://example.com:8585 is serving from /home/fossil/repos and there 
 are two fossil files in there:
   repo1.fossil
   repo.name.with.periods.fossil

 Then:

 $ fossil clone http://example.com:8585/repo1 repo1.fossil
 [OK]
 $ fossil clone http://example.com:8585/repo.name.with.periods repo2.fossil
 fossil: server says: 404 not found
 ...

 At the same time if, on the server, we do 'fossil server', instead of serving 
 using 'fossil http' + inetd:

 $ fossil server --port 8686 /home/fossil/repos/repo.name.with.periods.fossil

 Then the earlier clone succeeds:

 $ fossil clone http://example.com:8686/repo.name.with.periods repo2.fossil
 [NOW OK]

 Is this a bug?

 -Nick
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] fossil http does not allow periods in fossil name, fossil server does

2012-01-17 Thread Nick Zalutskiy
I have setup fossil to serve repositories using inetd (xinetd in my case)
as per http://fossil-scm.org/index.html/doc/tip/www/server.wiki

Lets say http://example.com:8585 is serving from /home/fossil/repos and
there are two fossil files in there:
  repo1.fossil
  repo.name.with.periods.fossil

Then:

$ fossil clone http://example.com:8585/repo1 repo1.fossil
[OK]
$ fossil clone http://example.com:8585/repo.name.with.periods repo2.fossil
fossil: server says: 404 not found
...

At the same time if, on the server, we do 'fossil server', instead of
serving using 'fossil http' + inetd:

$ fossil server --port 8686 /home/fossil/repos/repo.name.with.periods.fossil

Then the earlier clone succeeds:

$ fossil clone http://example.com:8686/repo.name.with.periods repo2.fossil
[NOW OK]

Is this a bug?

-Nick
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] Behavior of rm, mv, and changes/extra

2011-12-21 Thread Nick Zalutskiy
I'm using fossil for the first time, on a new project -- it hurts how
pragmatic and elegant fossil is, I had to try it. Over the years, I've
developed some habits from hg and git that I can't seems to reconcile
with how fossil does things. Can somebody tell me what I'm missing or
how my workflow needs to adapt? I seem to be doing two steps for tasks
that I preform dozens of times a day and that took one step in both
git and hg.

rm, mv:

Managing files under source control in fossil is tedious, since I have
to do every operation twice. One time for fossil and one time for the
file system. Ex:

$ fossil rm file1
DELETED file1
$ ls
file1
$ rm file1

Is there a reason behind this design decision? I'm on the verge of
creating my own wrapper script around fossil to get this done in one
step. Especially at early stages of the project I perform these
operations frequently. It just feels wrong to have to say the same
thing (as I see it) twice.

fossil changes; fossil extra; :

These guys I just dont get. I had to write an alias in my bashrc just
because it was getting really annoying. I use 'hg status' and 'git
status' multiple times before I commit to get an instant look at what
im doing: what file have I touched AND what new files have I created
that I need to remember to add to source control. With fossil I have
to execute two commands to get the same amount of information. If I do
just fossil changes, I inevitably forget to 'fossil add' something.
Again, this is especially relevant during the early stages of a
project where things change much more dramatically (at least in my
case.)

To recap: Why not perform file system changes when fossil is
instructed to delete or rename a file? Why not have a single command
that gives you ALL differences between your working tree and the
repository?

Best,

-Nick
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users