Re: [fossil-users] features I'd like to have in fossil

2016-11-03 Thread Nikita Borodikhin

Hi Martin,


Thank you for pointing that out, I somehow missed -p option.

It seems "fossil timeline parents current -p " is somewhat verbose 
equivalent of what I expected from "fossil log ", with the 
exception of treating merges


Thank you,
Nikita

On 11/01/2016 06:14 AM, Martin Gagnon wrote:

On Tue, Nov 01, 2016 at 01:08:47AM -0400, Ron W wrote:

At the risk of wading in to a minefield, I have some thoughts.
On Fri, Oct 21, 2016 at 2:14 PM,
<[1]fossil-users-requ...@lists.fossil-scm.org> wrote:

  From: Nikita Borodikhin <[2]elit...@gmail.com>
  Date: Fri, 21 Oct 2016 16:02:33 +

  == combined log - history ananlysis ==

  The most unusual thing about Fossil is that it does not have "log"
  command.  [...]  In Fossil, there is no easy command line way to get
  the history of a subtree.

Fossil already have this, like at the "-p" option of the timeline
command.

   $ fossil timeline -p subdir/
  or
   $ fossil timeline -p .


   




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


[fossil-users] debugging fossil with VisualStudio debugger

2016-11-03 Thread Artur Shepilko
A followup to my previous message about using Visual Studio to
directly debug fossil.exe (built with DEBUG=1) as:

devenv /debugexe fossil.exe

In case anyone has stumbled upon this before.
In order to have the actually compiled Fossil source-files (e.g.
main_.c translated without @ mark-up) load in the debugger, you need
to patch 'src/translate.c', so it does not insert a #line directive in
Debug mode :

patchBase::http://fossil-scm.org/index.html/info/version-1.35
---
Index: src/translate.c
==
--- src/translate.c
+++ src/translate.c
@@ -186,21 +186,28 @@
 FILE *in = fopen(argv[1], "r");
 if( in==0 ){
   fprintf(stderr,"can not open %s\n", argv[1]);
   exit(1);
 }
+/* Make compiler refer to original source-file in error messages
+** This may be confusing during debug as the translated code may
+** not correspond to the un-translated source.
+** Disable this for MSVC compiler.
+*/
+#if !(defined(_MSC_VER) && defined(_DEBUG))
 printf("#line 1 \"");
 for(arg=argv[1]; *arg; arg++){
   if( *arg!='\\' ){
 printf("%c", *arg);
   }else{
 printf("");
   }
 }
 printf("\"\n");
+#endif
 trans(in, stdout);
 fclose(in);
   }else{
 trans(stdin, stdout);
   }
   return 0;
 }

---

If you wonder what this all is about -- read on for the details on how
the Fossil sources are pre-processed prior to compilation (the offical
doc http://fossil-scm.org/index.html/doc/trunk/www/makefile.wiki).

IN BRIEF: VisualStudio debugger attempts to load into editor source
files referenced in the compiled object files.

The actually compiled source-files are generated after several
pre-processing steps in the build sub-directory and named with an
underscore (e.g. msvcbld/main_c). However a special #line directive is
inserted (by translate.exe) at the beginning of each pre-processed
files to reference the original source file (e.g. src/main.c) instead
of the one resulting from pre-processing (e.g. msvcbld/main_.c):

  #line 1 "..\\src\\main.c"

This is by intent, such that any error-messages would refer to the
original source files and not the pre-processed ones.

In general this may not be a big deal for step-tracing the execution
in the debugger, but it does conseal code introduced by the
pre-processors.

Thus for debugging purposes the #line directive could be omitted, at
least for MS VisualStudio compiler, so that one could follow the
actually compiled source-code.


On Sat, Oct 29, 2016 at 8:08 PM, Artur Shepilko  wrote:
> BTW, in general you may use VisualStudio debugger directly without a
> solution, by manually starting the 'devenv' as:
>
>   devenv /debugexe fossil.exe
>
> This launches VisualStudio in Debug mode and allows you to 'Step Into' a new
> instance of the exe (fossil.exe). By default it breaks in main().
>
> To actually see the source-code in the debugger editor window, fossil.exe
> has to be built in DEBUG mode.
>
>   cd win
>   buildmsvc DEBUG=1
>   cd ..\msvcbld
>   devenv /debugexe fossil.exe
>
> Otherwise you have to really be fluent in assembler :)
>
> Once in VS debugger, you can use all of the usual features: call-stack,
> break-points, watches, etc.
>
> Of course a solution would give you also source-referencing freedom, but if
> you know the source well and not averse to step-debbuging, this gives you
> ability to debug projects in the absence of an all-embracing solition, say
> CMake based projects etc, or indeed compex projects like fossil that
> involves a lot of code-generation.
>
> Hope this helps.
>
___
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] Synchronizing endless loop

2016-11-03 Thread Florian Balmer
I have another observation regarding the failed synchronization of
unversioned files:

If the `max-upload' setting is tweaked to be large enough (I set it to
the default 25*1000 on both the server and the client) so that the
synchronization operation does not require multiple round-trips,
unversioned files are synchronized properly. There are only two
artifact receipts log entries, one containing all the committed files
and check-in metadata, and another one for the unversioned file.

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