Hex Artifact Content
Not logged in

Artifact f8b38cdb44ab89a6926d86ee520cdde928f07bae:

File win32.txt part of check-in [8372cc0b81] - Socket operations now functional in Win32 port. Added quotes around the filename portion of the command to edit thus working of windows in paths where the temp directory contains spaces. Added -all flag to clean command. If not specified each file is prompted for before removing. by jnc on 2007-09-22 18:34:49. Also file win32.txt part of check-in [3c5482959c] - Merge in the w32 changes. by drh on 2007-09-22 19:43:55.

0000: 4e 6f 74 65 73 3a 20 50 6f 72 74 69 6e 67 20 66  Notes: Porting f
0010: 6f 73 73 69 6c 20 74 6f 20 77 69 6e 33 32 0a 3d  ossil to win32.=
0020: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0030: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0040: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0050: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0060: 3d 3d 3d 3d 3d 0a 0a 53 65 74 74 69 6e 67 20 75  =====..Setting u
0070: 70 20 6d 79 20 62 75 69 6c 64 20 65 6e 76 69 72  p my build envir
0080: 6f 6e 6d 65 6e 74 3a 0a 2d 2d 2d 2d 2d 2d 2d 2d  onment:.--------
0090: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
00a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
00b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
00c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a  --------------..
00d0: 20 20 49 6e 73 74 61 6c 6c 3a 0a 20 20 20 20 4d    Install:.    M
00e0: 69 6e 47 57 20 35 2e 31 2e 33 0a 20 20 20 20 4d  inGW 5.1.3.    M
00f0: 53 59 53 20 20 31 2e 30 2e 31 30 0a 20 20 0a 20  SYS  1.0.10.  . 
0100: 20 44 6f 77 6e 6c 6f 61 64 2f 63 6f 6d 70 69 6c   Download/compil
0110: 65 2f 69 6e 73 74 61 6c 6c 20 7a 6c 69 62 20 28  e/install zlib (
0120: 63 6f 6e 66 69 67 75 72 65 20 2d 2d 70 72 65 66  configure --pref
0130: 69 78 3d 2f 6d 69 6e 67 77 29 0a 20 20 44 6f 77  ix=/mingw).  Dow
0140: 6e 6c 6f 61 64 2f 63 6f 6d 70 69 6c 65 2f 69 6e  nload/compile/in
0150: 73 74 61 6c 6c 20 74 63 6c 73 68 20 28 63 6f 6e  stall tclsh (con
0160: 66 69 67 75 72 65 20 2d 2d 70 72 65 66 69 78 3d  figure --prefix=
0170: 2f 29 20 28 66 6f 72 20 74 65 73 74 73 29 0a 20  /) (for tests). 
0180: 20 0a 20 20 41 6c 6c 20 63 6f 6d 6d 61 6e 64 73   .  All commands
0190: 20 77 65 72 65 20 69 73 73 75 65 64 20 69 6e 20   were issued in 
01a0: 74 68 65 20 4d 53 59 53 20 73 68 65 6c 6c 2c 20  the MSYS shell, 
01b0: 6e 6f 74 20 61 20 63 6d 64 2e 65 78 65 0a 0a 4f  not a cmd.exe..O
01c0: 75 74 73 74 61 6e 64 69 6e 67 20 49 73 73 75 65  utstanding Issue
01d0: 73 3a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  s:.-------------
01e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
01f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0200: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0210: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 2a 20 73 65 72  ---------..* ser
0220: 76 65 72 20 69 73 20 74 6f 74 61 6c 6c 79 20 6e  ver is totally n
0230: 6f 6e 2d 66 75 6e 63 74 69 6f 6e 61 6c 20 2d 20  on-functional - 
0240: 23 69 66 2f 23 65 6e 64 27 64 20 6f 75 74 20 6f  #if/#end'd out o
0250: 66 20 74 68 65 20 63 6f 64 65 0a 0a 43 6f 6d 6d  f the code..Comm
0260: 61 6e 64 73 20 73 74 61 74 75 73 3a 0a 2d 2d 2d  ands status:.---
0270: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0280: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0290: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
02a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
02b0: 2d 2d 2d 0a 0a 61 64 64 20 20 20 20 20 20 20 20  ---..add        
02c0: 20 20 20 20 20 20 20 4f 4b 0a 63 67 69 20 20 20         OK.cgi   
02d0: 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 20              Not 
02e0: 74 65 73 74 65 64 0a 63 68 61 6e 67 65 73 20 20  tested.changes  
02f0: 20 20 20 20 20 20 20 20 20 4f 4b 0a 63 68 65 63           OK.chec
0300: 6b 6f 75 74 20 20 20 20 20 20 20 20 20 20 42 41  kout          BA
0310: 44 20 23 31 0a 63 6c 65 61 6e 20 20 20 20 20 20  D #1.clean      
0320: 20 20 20 20 20 20 20 4f 4b 0a 63 6c 6f 6e 65 20         OK.clone 
0330: 20 20 20 20 20 20 20 20 20 20 20 20 4f 4b 0a 63              OK.c
0340: 6c 6f 73 65 20 20 20 20 20 20 20 20 20 20 20 20  lose            
0350: 20 4f 4b 0a 63 6f 6d 6d 69 74 20 20 20 20 20 20   OK.commit      
0360: 20 20 20 20 20 20 4f 4b 0a 63 6f 6e 66 69 67 20        OK.config 
0370: 20 20 20 20 20 20 20 20 20 20 20 4f 4b 0a 64 65             OK.de
0380: 63 6f 6e 73 74 72 75 63 74 20 20 20 20 20 20 20  construct       
0390: 4f 4b 0a 64 65 6c 20 20 20 20 20 20 20 20 20 20  OK.del          
03a0: 20 20 20 20 20 4f 4b 0a 64 65 73 63 65 6e 64 65       OK.descende
03b0: 6e 74 73 20 20 20 20 20 20 20 4f 4b 0a 64 69 66  nts       OK.dif
03c0: 66 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f  f              O
03d0: 4b 0a 65 78 74 72 61 20 20 20 20 20 20 20 20 20  K.extra         
03e0: 20 20 20 20 4f 4b 0a 68 65 6c 70 20 20 20 20 20      OK.help     
03f0: 20 20 20 20 20 20 20 20 20 4f 4b 0a 68 74 74 70           OK.http
0400: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f                No
0410: 74 20 54 65 73 74 65 64 0a 69 6e 66 6f 20 20 20  t Tested.info   
0420: 20 20 20 20 20 20 20 20 20 20 20 4f 4b 0a 6c 65             OK.le
0430: 61 76 65 73 20 20 20 20 20 20 20 20 20 20 20 20  aves            
0440: 4f 4b 0a 6c 73 20 20 20 20 20 20 20 20 20 20 20  OK.ls           
0450: 20 20 20 20 20 4f 4b 0a 6d 65 72 67 65 20 20 20       OK.merge   
0460: 20 20 20 20 20 20 20 20 20 20 4f 4b 0a 6e 65 77            OK.new
0470: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f                 O
0480: 4b 0a 6f 70 65 6e 20 20 20 20 20 20 20 20 20 20  K.open          
0490: 20 20 20 20 4f 4b 0a 70 75 6c 6c 20 20 20 20 20      OK.pull     
04a0: 20 20 20 20 20 20 20 20 20 4f 4b 0a 70 75 73 68           OK.push
04b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 4b                OK
04c0: 0a 72 65 62 75 69 6c 64 20 20 20 20 20 20 20 20  .rebuild        
04d0: 20 20 20 4f 4b 20 28 64 69 64 6e 27 74 20 68 61     OK (didn't ha
04e0: 76 65 20 61 20 63 6f 72 72 75 70 74 20 66 69 6c  ve a corrupt fil
04f0: 65 20 74 6f 20 74 72 79 20 6f 6e 20 74 68 6f 75  e to try on thou
0500: 67 68 29 0a 72 65 64 6f 20 20 20 20 20 20 20 20  gh).redo        
0510: 20 20 20 20 20 20 42 41 44 20 23 33 0a 72 6d 20        BAD #3.rm 
0520: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f                 O
0530: 4b 0a 73 65 72 76 65 72 20 20 20 20 20 20 20 20  K.server        
0540: 20 20 20 20 42 41 44 20 23 34 0a 73 74 61 74 75      BAD #4.statu
0550: 73 20 20 20 20 20 20 20 20 20 20 20 20 4f 4b 0a  s            OK.
0560: 73 79 6e 63 20 20 20 20 20 20 20 20 20 20 20 20  sync            
0570: 20 20 4f 4b 0a 74 69 6d 65 6c 69 6e 65 20 20 20    OK.timeline   
0580: 20 20 20 20 20 20 20 4f 4b 0a 74 6b 64 69 66 66         OK.tkdiff
0590: 20 20 20 20 20 20 20 20 20 20 20 20 4f 4b 0a 75              OK.u
05a0: 6e 64 6f 20 20 20 20 20 20 20 20 20 20 20 20 20  ndo             
05b0: 20 4f 4b 0a 75 70 64 61 74 65 20 20 20 20 20 20   OK.update      
05c0: 20 20 20 20 20 20 4f 4b 0a 75 73 65 72 20 63 61        OK.user ca
05d0: 70 61 62 69 6c 69 74 69 65 73 20 4f 4b 0a 75 73  pabilities OK.us
05e0: 65 72 20 64 65 66 61 75 6c 74 20 20 20 20 20 20  er default      
05f0: 4f 4b 0a 75 73 65 72 20 6c 69 73 74 20 20 20 20  OK.user list    
0600: 20 20 20 20 20 4f 4b 0a 75 73 65 72 20 6e 65 77       OK.user new
0610: 20 20 20 20 20 20 20 20 20 20 4f 4b 0a 75 73 65            OK.use
0620: 72 20 70 61 73 73 77 6f 72 64 20 20 20 20 20 4f  r password     O
0630: 4b 0a 0a 23 31 20 48 61 76 65 20 61 20 72 65 70  K..#1 Have a rep
0640: 6f 20 77 68 65 72 65 20 49 20 72 65 6d 6f 76 65  o where I remove
0650: 64 20 61 20 66 69 6c 65 2e 20 49 20 64 69 64 20  d a file. I did 
0660: 61 20 66 6f 73 73 69 6c 20 63 68 65 63 6b 6f 75  a fossil checkou
0670: 74 20 31 32 33 61 62 63 2c 0a 20 20 20 77 68 69  t 123abc,.   whi
0680: 63 68 20 69 73 20 74 68 65 20 6c 61 73 74 20 76  ch is the last v
0690: 65 72 73 69 6f 6e 20 74 68 61 74 20 68 61 64 20  ersion that had 
06a0: 74 68 65 20 66 69 6c 65 2e 20 54 68 65 20 66 69  the file. The fi
06b0: 6c 65 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 61  le does not.   a
06c0: 70 70 65 61 72 2e 20 66 6f 73 73 69 6c 20 63 68  ppear. fossil ch
06d0: 65 63 6b 6f 75 74 20 2d 2d 66 6f 72 63 65 20 31  eckout --force 1
06e0: 32 33 61 62 63 20 64 6f 65 73 20 74 68 69 6e 67  23abc does thing
06f0: 73 2c 20 62 75 74 20 73 74 69 6c 6c 20 74 68 65  s, but still the
0700: 0a 20 20 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f  .   file does no
0710: 74 20 61 70 70 65 61 72 2e 0a 20 20 20 0a 20 20  t appear..   .  
0720: 20 4d 61 6b 65 20 61 20 6e 65 77 20 64 69 72 2c   Make a new dir,
0730: 20 66 6f 73 73 69 6c 20 6f 70 65 6e 20 2e 2e 2f   fossil open ../
0740: 72 65 70 6f 2e 66 73 6c 20 26 26 20 66 6f 73 73  repo.fsl && foss
0750: 69 6c 20 63 68 65 63 6b 6f 75 74 20 31 32 33 61  il checkout 123a
0760: 62 63 20 61 6e 64 0a 20 20 20 74 68 65 20 66 69  bc and.   the fi
0770: 6c 65 20 61 70 70 65 61 72 73 2e 0a 20 20 20 0a  le appears..   .
0780: 20 20 20 49 73 20 74 68 61 74 20 6e 6f 72 6d 61     Is that norma
0790: 6c 20 6f 70 65 72 61 74 69 6f 6e 3f 0a 0a 23 33  l operation?..#3
07a0: 20 49 6e 20 74 65 73 74 31 2f 20 49 20 65 64 69   In test1/ I edi
07b0: 74 65 64 20 61 20 66 69 6c 65 2c 20 74 65 73 74  ted a file, test
07c0: 32 2f 20 49 20 75 70 64 61 74 65 64 2c 20 74 79  2/ I updated, ty
07d0: 70 65 20 66 69 6c 65 2e 74 78 74 20 63 68 61 6e  pe file.txt chan
07e0: 67 65 73 0a 20 20 20 77 65 72 65 20 74 68 65 72  ges.   were ther
07f0: 65 2e 20 49 20 74 68 65 6e 20 64 69 64 20 66 6f  e. I then did fo
0800: 73 73 69 6c 20 75 6e 64 6f 20 66 69 6c 65 2e 74  ssil undo file.t
0810: 78 74 2e 20 54 68 65 20 63 68 61 6e 67 65 73 20  xt. The changes 
0820: 77 65 72 65 20 67 6f 6e 65 0a 20 20 20 61 6e 64  were gone.   and
0830: 20 66 6f 73 73 69 6c 20 73 74 61 74 75 73 20 73   fossil status s
0840: 61 69 64 20 49 20 68 61 64 20 65 64 69 74 65 64  aid I had edited
0850: 20 66 69 6c 65 2e 74 78 74 2e 20 41 20 66 6f 73   file.txt. A fos
0860: 73 69 6c 20 72 65 64 6f 20 64 69 64 20 6e 6f 74  sil redo did not
0870: 0a 20 20 20 70 72 69 6e 74 20 61 6e 79 74 68 69  .   print anythi
0880: 6e 67 20 74 6f 20 74 68 65 20 73 63 72 65 65 6e  ng to the screen
0890: 20 61 6e 64 20 74 68 65 20 63 68 61 6e 67 65 73   and the changes
08a0: 20 66 6f 72 20 66 69 6c 65 2e 74 78 74 20 61 72   for file.txt ar
08b0: 65 20 6e 6f 74 0a 20 20 20 69 6e 20 74 68 65 20  e not.   in the 
08c0: 66 69 6c 65 2e 20 66 6f 73 73 69 6c 20 73 74 61  file. fossil sta
08d0: 74 75 73 20 73 74 69 6c 6c 20 72 65 70 6f 72 74  tus still report
08e0: 73 20 74 68 61 74 20 74 68 65 20 66 69 6c 65 20  s that the file 
08f0: 77 61 73 20 65 64 69 74 65 64 2e 0a 20 20 20 54  was edited..   T
0900: 68 65 72 65 20 77 61 73 20 6e 6f 20 63 6f 6d 6d  here was no comm
0910: 69 74 2f 75 70 64 61 74 65 20 6f 72 20 61 6e 79  it/update or any
0920: 20 6f 74 68 65 72 20 63 6f 6d 6d 61 6e 64 20 69   other command i
0930: 6e 62 65 74 77 65 65 6e 20 74 68 65 73 65 0a 20  nbetween these. 
0940: 20 20 61 63 74 69 6f 6e 73 2e 0a 0a 23 34 20 54    actions...#4 T
0950: 68 65 72 65 20 77 65 72 65 20 76 61 72 69 6f 75  here were variou
0960: 73 20 64 69 66 66 69 63 75 6c 74 69 65 73 20 69  s difficulties i
0970: 6e 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20  n this function 
0980: 62 65 79 6f 6e 64 20 73 69 6d 70 6c 65 20 73 6f  beyond simple so
0990: 63 6b 65 74 0a 20 20 20 70 72 6f 62 6c 65 6d 73  cket.   problems
09a0: 2e 20 54 68 65 20 6d 61 6a 6f 72 20 6f 6e 65 20  . The major one 
09b0: 62 65 69 6e 67 20 66 6f 72 6b 2e 20 54 68 69 73  being fork. This
09c0: 20 77 69 6c 6c 20 70 72 6f 62 61 62 6c 79 20 62   will probably b
09d0: 65 20 74 68 65 20 6c 61 73 74 0a 20 20 20 63 6f  e the last.   co
09e0: 6d 6d 61 6e 64 20 74 6f 20 62 65 20 66 75 6e 63  mmand to be func
09f0: 74 69 6f 6e 61 6c 20 69 6e 20 66 6f 73 73 69 6c  tional in fossil
0a00: 20 6f 6e 20 77 69 6e 64 6f 77 73 2e 0a            on windows..