Rmk27 GITFNS for renaming, minor other convenience adjustments (#728)
* GITFNS, COMPAREDIRECTORIES: more on renaming and copying * MODERNIZE: use Wborder for the top for windows without titles * DIRECTORY: DEPTH as a parameter * FILEPKG: EDITCALLERS does FILDIR if FILES contains * * GITFNS: Don't error on a non-existent "deleted" file
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "27-Feb-2022 12:47:42"
|
||||
{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>COMPAREDIRECTORIES.;211 124421
|
||||
(FILECREATED " 6-Mar-2022 19:53:40"
|
||||
{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>COMPAREDIRECTORIES.;214 123835
|
||||
|
||||
:CHANGES-TO (FNS CD-MENUFN)
|
||||
:CHANGES-TO (FNS CD.COMMANDSELECTEDFN)
|
||||
|
||||
:PREVIOUS-DATE "25-Feb-2022 21:30:55"
|
||||
{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>COMPAREDIRECTORIES.;209)
|
||||
:PREVIOUS-DATE " 5-Mar-2022 15:10:31"
|
||||
{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>COMPAREDIRECTORIES.;213)
|
||||
|
||||
|
||||
(* ; "
|
||||
@@ -386,12 +386,7 @@ Copyright (c) 1985-1988, 1990, 1994, 1998, 2018, 2020-2021 by Venue & Xerox Corp
|
||||
(DEFINEQ
|
||||
|
||||
(CDFILES
|
||||
[LAMBDA (DIR INCLUDEDFILES EXCLUDEDFILES ALLVERSIONS DEPTH)(* ; "Edited 25-Feb-2022 21:26 by rmk")
|
||||
(* ; "Edited 26-Jan-2022 15:25 by rmk")
|
||||
(* ; "Edited 21-Jan-2022 22:40 by rmk")
|
||||
(* ; "Edited 5-Jan-2022 15:07 by rmk")
|
||||
(* ; "Edited 23-Dec-2021 22:49 by rmk")
|
||||
(* ; "Edited 6-Nov-2021 12:08 by rmk:")
|
||||
[LAMBDA (DIR INCLUDEDFILES EXCLUDEDFILES ALLVERSIONS DEPTH)(* ; "Edited 5-Mar-2022 15:05 by rmk")
|
||||
(* ; "Edited 16-Oct-2020 13:42 by rmk:")
|
||||
|
||||
(* ;; "Returns a list of fullnames for files that satisfy the criteria. We generate all candidates that match INCLUDEDFILES but not EXCLUDEDFILES in DIR.")
|
||||
@@ -418,18 +413,14 @@ Copyright (c) 1985-1988, 1990, 1994, 1998, 2018, 2020-2021 by Venue & Xerox Corp
|
||||
(SETQ EXCLUDEDFILES (LDIFFERENCE EXCLUDEDFILES INCLUDEDFILES))
|
||||
(LET ([INCLUDES (CDFILES.PATS (OR INCLUDEDFILES '*.*]
|
||||
(EXCLUDES (AND EXCLUDEDFILES (CDFILES.PATS EXCLUDEDFILES)))
|
||||
HOST FILING.ENUMERATION.DEPTH ENUMPAT)
|
||||
(DECLARE (SPECVARS FILING.ENUMERATION.DEPTH))
|
||||
HOST ENUMPAT)
|
||||
(SETQ HOST (FILENAMEFIELD DIR 'HOST))
|
||||
(SETQ DIR (FILENAMEFIELD DIR 'DIRECTORY))
|
||||
[SETQ FILING.ENUMERATION.DEPTH (IF (EQ DEPTH T)
|
||||
THEN MAX.SMALLP
|
||||
ELSEIF DEPTH
|
||||
ELSE
|
||||
(* ;; "DEPTH is the number of internal > or /")
|
||||
(CL:UNLESS DEPTH
|
||||
|
||||
(FOR P IN INCLUDES LARGEST (CADDDR P)
|
||||
FINALLY (RETURN $$EXTREME]
|
||||
(* ;; "DEPTH is the number of internal > or /")
|
||||
|
||||
(SETQ DEPTH (FOR P IN INCLUDES LARGEST (CADDDR P) FINALLY (RETURN $$EXTREME))))
|
||||
|
||||
(* ;; "ENUMPAT is the single pattern that we use for the directory enumeration (given the enumeration depth). We have to go to the most general specification, then filter the generated results.")
|
||||
|
||||
@@ -462,25 +453,27 @@ Copyright (c) 1985-1988, 1990, 1994, 1998, 2018, 2020-2021 by Venue & Xerox Corp
|
||||
(* ;; "We enumerate all the files, checking to see that")
|
||||
|
||||
(FOR FULLNAME NAME EXT SUBDIR UNPACK THISDEPTH (STARTPOS _ (ADD1 (NCHARS DIR)))
|
||||
IN (DIRECTORY ENUMPAT NIL NIL (CL:IF ALLVERSIONS
|
||||
"*"
|
||||
""))
|
||||
EACHTIME (SETQ UNPACK (UNPACKFILENAME FULLNAME))
|
||||
(SETQ NAME (LISTGET UNPACK 'NAME))
|
||||
(SETQ EXT (LISTGET UNPACK 'EXTENSION))
|
||||
(CL:UNLESS NAME
|
||||
(CL:WHEN EXT (* ; ".XY")
|
||||
(SETQ NAME (PACK* "." EXT))
|
||||
(SETQ EXT NIL)))
|
||||
(CL:UNLESS (OR NAME EXT) (* ; "Must have been a directory")
|
||||
(GO $$ITERATE))
|
||||
(SETQ SUBDIR (SUBATOM (LISTGET UNPACK 'DIRECTORY)
|
||||
STARTPOS))
|
||||
(SETQ THISDEPTH (FOR I (CNT _ 1) FROM 1 DO (SELCHARQ (NTHCHARCODE SUBDIR I)
|
||||
((> /)
|
||||
(ADD CNT 1))
|
||||
(NIL (RETURN CNT))
|
||||
NIL)))
|
||||
IN (DIRECTORY ENUMPAT `(DEPTH ,DEPTH COLLECT)
|
||||
NIL
|
||||
(CL:IF ALLVERSIONS
|
||||
"*"
|
||||
"")) EACHTIME (SETQ UNPACK (UNPACKFILENAME FULLNAME))
|
||||
(SETQ NAME (LISTGET UNPACK 'NAME))
|
||||
(SETQ EXT (LISTGET UNPACK 'EXTENSION))
|
||||
(CL:UNLESS NAME
|
||||
(CL:WHEN EXT (* ; ".XY")
|
||||
(SETQ NAME (PACK* "." EXT))
|
||||
(SETQ EXT NIL)))
|
||||
(CL:UNLESS (OR NAME EXT)(* ; "Must have been a directory")
|
||||
(GO $$ITERATE))
|
||||
(SETQ SUBDIR (SUBATOM (LISTGET UNPACK 'DIRECTORY)
|
||||
STARTPOS))
|
||||
(SETQ THISDEPTH (FOR I (CNT _ 1) FROM 1
|
||||
DO (SELCHARQ (NTHCHARCODE SUBDIR I)
|
||||
((> /)
|
||||
(ADD CNT 1))
|
||||
(NIL (RETURN CNT))
|
||||
NIL)))
|
||||
WHEN (OR (NULL INCLUDES)
|
||||
(CDFILES.MATCH SUBDIR NAME EXT THISDEPTH INCLUDES))
|
||||
UNLESS (CDFILES.MATCH SUBDIR NAME EXT THISDEPTH EXCLUDES) COLLECT FULLNAME])
|
||||
@@ -1808,7 +1801,8 @@ Copyright (c) 1985-1988, 1990, 1994, 1998, 2018, 2020-2021 by Venue & Xerox Corp
|
||||
'DON'T])
|
||||
|
||||
(CD.COMMANDSELECTEDFN
|
||||
[LAMBDA (MENUITEM MENU KEY) (* ; "Edited 24-Feb-2022 19:52 by rmk")
|
||||
[LAMBDA (MENUITEM MENU KEY) (* ; "Edited 6-Mar-2022 19:52 by rmk")
|
||||
(* ; "Edited 24-Feb-2022 19:52 by rmk")
|
||||
(* ; "Edited 5-Feb-2022 17:23 by rmk")
|
||||
(* ; "Edited 27-Jan-2022 17:46 by rmk")
|
||||
(* ; "Edited 10-Jan-2022 22:51 by rmk")
|
||||
@@ -1864,11 +1858,11 @@ Copyright (c) 1985-1988, 1990, 1994, 1998, 2018, 2020-2021 by Venue & Xerox Corp
|
||||
(* ;;
|
||||
"One of the files is not real if its date is %"%", a rename.")
|
||||
|
||||
(CL:WHEN (STREQUAL "" (FETCH (CDINFO DATE)
|
||||
(CL:WHEN (STREQUAL "" (FETCH (CDINFO LENGTH)
|
||||
OF (FETCH (CDENTRY INFO1)
|
||||
OF CDENTRY)))
|
||||
(SETQ FILE1 NIL))
|
||||
(CL:WHEN (STREQUAL "" (FETCH (CDINFO DATE)
|
||||
(CL:WHEN (STREQUAL "" (FETCH (CDINFO LENGTH)
|
||||
OF (FETCH (CDENTRY INFO2)
|
||||
OF CDENTRY)))
|
||||
(SETQ FILE2 NIL))
|
||||
@@ -2108,24 +2102,24 @@ Copyright (c) 1985-1988, 1990, 1994, 1998, 2018, 2020-2021 by Venue & Xerox Corp
|
||||
(PUTPROPS COMPAREDIRECTORIES COPYRIGHT ("Venue & Xerox Corporation" 1985 1986 1987 1988 1990 1994 1998
|
||||
2018 2020 2021))
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (2599 22160 (COMPAREDIRECTORIES 2609 . 7836) (COMPAREDIRECTORIES.INFOS 7838 . 10600) (
|
||||
COMPAREDIRECTORIES.CANDIDATES 10602 . 13987) (CDENTRIES.SELECT 13989 . 18764) (
|
||||
COMPAREDIRECTORIES.INFOS.TYPE 18766 . 19394) (MATCHNAME 19396 . 20076) (CD.INSURECDVALUE 20078 . 21692
|
||||
) (CD.UPDATEWIDTHS 21694 . 22158)) (22161 32410 (CDFILES 22171 . 28504) (CDFILES.MATCH 28506 . 30131)
|
||||
(CDFILES.PATS 30133 . 32408)) (32411 47496 (CDPRINT 32421 . 34766) (CDPRINT.HEADER 34768 . 35665) (
|
||||
CDPRINT.LINE 35667 . 38223) (CDPRINT.MAXWIDTHS 38225 . 42340) (CDPRINT.COLHEADERS 42342 . 42980) (
|
||||
CDPRINT.COLUMNS 42982 . 46861) (CDTEDIT 46863 . 47494)) (47497 55866 (CDMAP 47507 . 48939) (CDENTRY
|
||||
48941 . 49250) (CDSUBSET 49252 . 50691) (CDMERGE 50693 . 54547) (CDMERGE.COMMON 54549 . 55864)) (55867
|
||||
63405 (BINCOMP 55877 . 60166) (EOLTYPE 60168 . 62730) (EOLTYPE.SHOW 62732 . 63403)) (63933 77140 (
|
||||
FIND-UNCOMPILED-FILES 63943 . 67586) (FIND-UNSOURCED-FILES 67588 . 70397) (FIND-SOURCE-FILES 70399 .
|
||||
72103) (FIND-COMPILED-FILES 72105 . 74183) (FIND-UNLOADED-FILES 74185 . 74929) (FIND-LOADED-FILES
|
||||
74931 . 75485) (FIND-MULTICOMPILED-FILES 75487 . 77138)) (77141 85343 (CREATED-AS 77151 . 81948) (
|
||||
SOURCE-FOR-COMPILED-P 81950 . 84648) (COMPILE-SOURCE-DATE-DIFF 84650 . 85341)) (85344 95650 (
|
||||
FIX-DIRECTORY-DATES 85354 . 88347) (FIX-EQUIV-DATES 88349 . 89874) (COPY-COMPARED-FILES 89876 . 91697)
|
||||
(COPY-MISSING-FILES 91699 . 93856) (COMPILED-ON-SAME-SOURCE 93858 . 95648)) (95844 103190 (CDBROWSER
|
||||
95854 . 99781) (CDBROWSER.STRINGS 99783 . 103188)) (103352 105088 (CD.TABLEITEM 103362 . 103582) (
|
||||
CD.TABLEITEM.PRINTFN 103584 . 103783) (CD.TABLEITEM.COPYFN 103785 . 104843) (
|
||||
CDTABLEBROWSER.HEADING.REPAINTFN 104845 . 105086)) (105089 123837 (CDTABLEBROWSER.WHENSELECTEDFN
|
||||
105099 . 105567) (CD.COMMANDSELECTEDFN 105569 . 110557) (CD-MENUFN 110559 . 116922) (CDBROWSER-COPY
|
||||
116924 . 120295) (CDBROWSER-DELETE-FILE 120297 . 123316) (CD-SWAPDIRS 123318 . 123835)))))
|
||||
(FILEMAP (NIL (2610 22171 (COMPAREDIRECTORIES 2620 . 7847) (COMPAREDIRECTORIES.INFOS 7849 . 10611) (
|
||||
COMPAREDIRECTORIES.CANDIDATES 10613 . 13998) (CDENTRIES.SELECT 14000 . 18775) (
|
||||
COMPAREDIRECTORIES.INFOS.TYPE 18777 . 19405) (MATCHNAME 19407 . 20087) (CD.INSURECDVALUE 20089 . 21703
|
||||
) (CD.UPDATEWIDTHS 21705 . 22169)) (22172 31711 (CDFILES 22182 . 27805) (CDFILES.MATCH 27807 . 29432)
|
||||
(CDFILES.PATS 29434 . 31709)) (31712 46797 (CDPRINT 31722 . 34067) (CDPRINT.HEADER 34069 . 34966) (
|
||||
CDPRINT.LINE 34968 . 37524) (CDPRINT.MAXWIDTHS 37526 . 41641) (CDPRINT.COLHEADERS 41643 . 42281) (
|
||||
CDPRINT.COLUMNS 42283 . 46162) (CDTEDIT 46164 . 46795)) (46798 55167 (CDMAP 46808 . 48240) (CDENTRY
|
||||
48242 . 48551) (CDSUBSET 48553 . 49992) (CDMERGE 49994 . 53848) (CDMERGE.COMMON 53850 . 55165)) (55168
|
||||
62706 (BINCOMP 55178 . 59467) (EOLTYPE 59469 . 62031) (EOLTYPE.SHOW 62033 . 62704)) (63234 76441 (
|
||||
FIND-UNCOMPILED-FILES 63244 . 66887) (FIND-UNSOURCED-FILES 66889 . 69698) (FIND-SOURCE-FILES 69700 .
|
||||
71404) (FIND-COMPILED-FILES 71406 . 73484) (FIND-UNLOADED-FILES 73486 . 74230) (FIND-LOADED-FILES
|
||||
74232 . 74786) (FIND-MULTICOMPILED-FILES 74788 . 76439)) (76442 84644 (CREATED-AS 76452 . 81249) (
|
||||
SOURCE-FOR-COMPILED-P 81251 . 83949) (COMPILE-SOURCE-DATE-DIFF 83951 . 84642)) (84645 94951 (
|
||||
FIX-DIRECTORY-DATES 84655 . 87648) (FIX-EQUIV-DATES 87650 . 89175) (COPY-COMPARED-FILES 89177 . 90998)
|
||||
(COPY-MISSING-FILES 91000 . 93157) (COMPILED-ON-SAME-SOURCE 93159 . 94949)) (95145 102491 (CDBROWSER
|
||||
95155 . 99082) (CDBROWSER.STRINGS 99084 . 102489)) (102653 104389 (CD.TABLEITEM 102663 . 102883) (
|
||||
CD.TABLEITEM.PRINTFN 102885 . 103084) (CD.TABLEITEM.COPYFN 103086 . 104144) (
|
||||
CDTABLEBROWSER.HEADING.REPAINTFN 104146 . 104387)) (104390 123251 (CDTABLEBROWSER.WHENSELECTEDFN
|
||||
104400 . 104868) (CD.COMMANDSELECTEDFN 104870 . 109971) (CD-MENUFN 109973 . 116336) (CDBROWSER-COPY
|
||||
116338 . 119709) (CDBROWSER-DELETE-FILE 119711 . 122730) (CD-SWAPDIRS 122732 . 123249)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
251
lispusers/GITFNS
251
lispusers/GITFNS
@@ -1,11 +1,11 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED " 5-Mar-2022 19:52:30" {DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>GITFNS.;108 71762
|
||||
(FILECREATED " 7-Mar-2022 08:14:19" {DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>GITFNS.;129 74976
|
||||
|
||||
:CHANGES-TO (FNS CDGITDIR)
|
||||
:CHANGES-TO (FNS GIT-GET-DIFFERENT-FILES)
|
||||
|
||||
:PREVIOUS-DATE " 5-Mar-2022 12:08:34"
|
||||
{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>GITFNS.;107)
|
||||
:PREVIOUS-DATE " 6-Mar-2022 21:51:16"
|
||||
{DSK}<Users>kaplan>Local>medley3.5>my-medley>lispusers>GITFNS.;128)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT GITFNSCOMS)
|
||||
@@ -216,13 +216,15 @@
|
||||
|
||||
(DEFCOMMAND cob (BRANCH)
|
||||
|
||||
(* ;; "Switches to BRANCH. Defaults to my current branch, T means my next branch (under wherever we are now ")
|
||||
(* ;; "Switches to BRANCH. T means my current branch, NEW/NEXT means my next branch (under wherever we are now). Default is to bring up a menu of locally available branches.")
|
||||
|
||||
(SELECTQ (U-CASE BRANCH)
|
||||
(NIL (GIT-CHECKOUT (GIT-MY-CURRENT-BRANCH)))
|
||||
((T NEW)
|
||||
(T (GIT-CHECKOUT (GIT-MY-CURRENT-BRANCH)))
|
||||
((NEW NEXT)
|
||||
(GIT-MAKE-BRANCH))
|
||||
(GIT-CHECKOUT BRANCH)))
|
||||
(GIT-CHECKOUT (OR BRANCH (PICK-BRANCH NIL "Branches" 'LOCAL))
|
||||
BRANCH
|
||||
'LOCAL)))
|
||||
|
||||
(DEFCOMMAND b? (BRANCH) (GIT-WHICH-BRANCH))
|
||||
|
||||
@@ -481,7 +483,7 @@
|
||||
(GIT-BRANCH-DIFF
|
||||
[LAMBDA (BRANCH1 BRANCH2)
|
||||
|
||||
(* ;; "Edited 28-Feb-2022 22:27 by rmk: returns an ALIST that classifies how the files in BRANCH1 and BRANCH2 differ (changed, renamed, added, deleted, copied).")
|
||||
(* ;; "Edited 6-Mar-2022 14:52 by rmk: returns an ALIST that classifies how the files in BRANCH1 and BRANCH2 differ (changed, renamed, added, deleted, copied).")
|
||||
|
||||
(* ;; "This returns an ALIST that classifies how the files in BRANCH1 and BRANCH2 differ (changed, renamed, added, deleted, copied).")
|
||||
|
||||
@@ -513,11 +515,14 @@
|
||||
(M (CL:IF (SETQ POS (STRPOS " " L))
|
||||
(PUSH CHANGED (SUBSTRING L (ADD1 POS)))
|
||||
(ERROR "CHANGED NOT RECOGNIZED" L)))
|
||||
(C (IF (SETQ POS (STRPOS " " L))
|
||||
THEN [PUSH COPIED (LIST [SUBSTRING L (ADD1 POS)
|
||||
(SUB1 (SETQ POS (STRPOS " " L (ADD1 POS]
|
||||
(SUBSTRING L (ADD1 POS]
|
||||
ELSE (HELP "COPY NOT UNDERSTOOD" L)))
|
||||
(C (IF (AND (EQ (CHARCODE TAB)
|
||||
(NTHCHARCODE L 5))
|
||||
(SETQ POS (STRPOS " " L 7)))
|
||||
THEN [PUSH COPIED (LIST (SUBSTRING L 6 (SUB1 POS))
|
||||
(SUBSTRING L (ADD1 POS))
|
||||
(OR (FIXP (SUBATOM L 2 4))
|
||||
(HELP "C without a number" L]
|
||||
ELSE (HELP "COPY NOT RECOGNIZED" L)))
|
||||
(R (IF (AND (EQ (CHARCODE TAB)
|
||||
(NTHCHARCODE L 5))
|
||||
(SETQ POS (STRPOS " " L 7)))
|
||||
@@ -550,17 +555,19 @@
|
||||
(GIT-GET-FILE
|
||||
[LAMBDA (BRANCH GITFILE LOCALFILE NOERROR)
|
||||
|
||||
(* ;; "Edited 24-Feb-2022 19:42 by rmk: the stream, not the name because of the NODIRCORE case.")
|
||||
(* ;; "Edited 6-Mar-2022 17:45 by rmk: the stream, not the name because of the NODIRCORE case.")
|
||||
|
||||
(* ;; "Returns the stream, not the name because of the NODIRCORE case.")
|
||||
|
||||
(* ;; "If GITFILE in (remote) BRANCH exists, it is copied to LOCALFILE and LOCALFILE is returned. If it doesn't exist, return value is NIL if NOERROR, otherwise an ERROR.")
|
||||
|
||||
(CL:WHEN (AND BRANCH (STRPOS "local/" BRANCH 1 NIL T))
|
||||
(SETQ BRANCH (SUBSTRING BRANCH 7)))
|
||||
(CL:WITH-OPEN-STREAM (s (CREATE-PROCESS-STREAM (CONCAT (CDGITDIR)
|
||||
"git show " BRANCH ":" GITFILE)))
|
||||
(SETFILEINFO s 'ENDOFSTREAMOP (FUNCTION NILL))
|
||||
(LET (BYTES)
|
||||
(IF (FOR I B C FROM 1 WHILE (SETQ C (NTHCHARCODE "fatal: path '" I))
|
||||
(IF (FOR I B C FROM 1 WHILE (SETQ C (NTHCHARCODE "fatal: " I))
|
||||
DO
|
||||
(* ;;
|
||||
"Returns NIL if we run off the fatal string with a match, otherwise T")
|
||||
@@ -588,7 +595,8 @@
|
||||
ELSE (ERROR "GIT FILE NOT FOUND" GITFILE])
|
||||
|
||||
(GIT-FILE-EXISTS?
|
||||
[LAMBDA (BRANCH GITFILE) (* ; "Edited 10-Feb-2022 20:55 by rmk")
|
||||
[LAMBDA (BRANCH GITFILE) (* ; "Edited 6-Mar-2022 19:04 by rmk")
|
||||
(* ; "Edited 10-Feb-2022 20:55 by rmk")
|
||||
(* ; "Edited 10-Dec-2021 21:30 by rmk")
|
||||
|
||||
(* ;; "T if GITFILE exists on BRANCH. If s is EOFP, the file exists but is empty")
|
||||
@@ -596,7 +604,7 @@
|
||||
(CL:WITH-OPEN-STREAM (s (CREATE-PROCESS-STREAM (CONCAT (CDGITDIR)
|
||||
"git show " BRANCH ":" GITFILE)))
|
||||
(SETFILEINFO s 'ENDOFSTREAMOP (FUNCTION NILL))
|
||||
(NOT (FOR I C FROM 1 WHILE (SETQ C (NTHCHARCODE "fatal: path '" I))
|
||||
(NOT (FOR I C FROM 1 WHILE (SETQ C (NTHCHARCODE "fatal: " I))
|
||||
ALWAYS (EQ (BIN s)
|
||||
C])
|
||||
|
||||
@@ -627,7 +635,10 @@
|
||||
(CAR RESULT])
|
||||
|
||||
(GIT-FILE-DATE
|
||||
[LAMBDA (GFILE BRANCH) (* ; "Edited 3-Jan-2022 19:43 by rmk")
|
||||
[LAMBDA (GFILE BRANCH) (* ; "Edited 6-Mar-2022 17:41 by rmk")
|
||||
(* ; "Edited 3-Jan-2022 19:43 by rmk")
|
||||
(CL:WHEN (AND NIL BRANCH (STRPOS "local/" BRANCH 1 NIL T))
|
||||
(SETQ BRANCH (SUBSTRING BRANCH 7)))
|
||||
(LET [(DATE (CAR (GIT-COMMAND (CONCAT "git log -1 --pretty=%"format:%%cD%" "
|
||||
(CL:IF BRANCH
|
||||
(CONCAT BRANCH " -- ")
|
||||
@@ -692,46 +703,46 @@
|
||||
ELSE (HELP "Unexpected git result" RESULT])
|
||||
|
||||
(GIT-BRANCHES
|
||||
[LAMBDA (WHERE) (* ; "Edited 24-Feb-2022 21:20 by rmk")
|
||||
[LAMBDA (WHERE) (* ; "Edited 6-Mar-2022 08:54 by rmk")
|
||||
(* ; "Edited 24-Feb-2022 21:20 by rmk")
|
||||
(* ; "Edited 8-Dec-2021 08:43 by rmk")
|
||||
(* ; "Edited 17-Nov-2021 18:20 by rmk:")
|
||||
(* ; "Edited 16-Nov-2021 09:21 by rmk:")
|
||||
|
||||
(* ;;
|
||||
"Strips of the %"* %" that indicates the current branch and the 2-space padding on other branches")
|
||||
(* ;; "Strips of the %"* %" that indicates the current branch and the 2-space padding on other branches. Packs local/ on to local branches")
|
||||
|
||||
(LET [(LOCAL (CL:WHEN (MEMB (U-CASE WHERE)
|
||||
(LET [[LOCAL (CL:WHEN (MEMB (U-CASE WHERE)
|
||||
'(NIL ALL LOCAL))
|
||||
(GIT-COMMAND "git branch")))
|
||||
(FOR B IN (GIT-COMMAND "git branch") COLLECT (PACK* "local/" (SUBATOM B 3))))]
|
||||
(REMOTE (CL:WHEN (MEMB (U-CASE WHERE)
|
||||
'(NIL ALL REMOTE T))
|
||||
(GIT-COMMAND "git branch -r"]
|
||||
(SORT (FOR B IN (APPEND LOCAL REMOTE) COLLECT (SUBATOM B 3])
|
||||
(FOR B IN (GIT-COMMAND "git branch -r") COLLECT (SUBATOM B 3)))]
|
||||
(SORT (APPEND LOCAL REMOTE])
|
||||
|
||||
(GIT-BRANCH-EXISTS?
|
||||
[LAMBDA (BRANCH WHERE NOERROR) (* ; "Edited 16-Dec-2021 08:50 by rmk")
|
||||
(* ; "Edited 8-Dec-2021 08:44 by rmk")
|
||||
(* ; "Edited 19-Nov-2021 15:13 by rmk:")
|
||||
(* ; "Edited 17-Nov-2021 18:24 by rmk:")
|
||||
[LAMBDA (BRANCH WHERE NOERROR) (* ; "Edited 6-Mar-2022 15:28 by rmk")
|
||||
(* ; "Edited 16-Dec-2021 08:50 by rmk")
|
||||
(* ; "Edited 8-Dec-2021 08:44 by rmk")
|
||||
(* ; "Edited 19-Nov-2021 15:13 by rmk:")
|
||||
(* ; "Edited 17-Nov-2021 18:24 by rmk:")
|
||||
|
||||
(* ;; "Returns the canonical name of the branch (xxx or origin/xxx) depending on whether BRANCH is local/xxx or origin/xxx")
|
||||
(* ; "Edited 16-Nov-2021 09:25 by rmk:")
|
||||
(IF (STRPOS "origin/" BRANCH)
|
||||
THEN (SETQ WHERE 'REMOTE)
|
||||
ELSEIF (STRPOS "local/" BRANCH 1 NIL T)
|
||||
THEN (SETQ WHERE 'LOCAL)
|
||||
(SETQ BRANCH (SUBATOM BRANCH 7)))
|
||||
(IF (CAR (MEMB (MKATOM BRANCH)
|
||||
(GIT-BRANCHES WHERE)))
|
||||
(* ; "Edited 16-Nov-2021 09:25 by rmk:")
|
||||
(IF [CAR (MEMB (MKATOM BRANCH)
|
||||
(GIT-BRANCHES (IF (STRPOS "origin/" BRANCH 1 NIL T)
|
||||
THEN 'REMOTE
|
||||
ELSEIF (STRPOS "local/" BRANCH 1 NIL T)
|
||||
THEN 'LOCAL]
|
||||
ELSEIF (NOT NOERROR)
|
||||
THEN (ERROR "Unknown branch" BRANCH])
|
||||
|
||||
(PICK-BRANCH
|
||||
[LAMBDA (BRANCHES TITLE) (* ; "Edited 25-Feb-2022 09:02 by rmk")
|
||||
[LAMBDA (BRANCHES TITLE WHERE) (* ; "Edited 6-Mar-2022 08:55 by rmk")
|
||||
(* ; "Edited 25-Feb-2022 09:02 by rmk")
|
||||
(MENU (CREATE MENU
|
||||
TITLE _ (OR TITLE 'Branches)
|
||||
ITEMS _ (OR (LISTP BRANCHES)
|
||||
(GIT-BRANCHES BRANCHES))
|
||||
(GIT-BRANCHES WHERE))
|
||||
MENUFONT _ DEFAULTFONT])
|
||||
|
||||
(GIT-PULL-REQUESTS
|
||||
@@ -793,7 +804,8 @@
|
||||
0])
|
||||
|
||||
(GIT-MY-BRANCHES
|
||||
[LAMBDA NIL (* ; "Edited 19-Jan-2022 13:20 by rmk")
|
||||
[LAMBDA NIL (* ; "Edited 6-Mar-2022 21:50 by rmk")
|
||||
(* ; "Edited 19-Jan-2022 13:20 by rmk")
|
||||
(* ; "Edited 8-Jan-2022 09:53 by rmk")
|
||||
(* ; "Edited 12-Dec-2021 11:46 by rmk")
|
||||
|
||||
@@ -803,7 +815,7 @@
|
||||
|
||||
(* ;; "The return list is sorted so that lower n's come before later n's. The last element is my current branch")
|
||||
|
||||
(FOR B (INITS _ (GIT-INITIALS))
|
||||
(FOR B (INITS _ (CONCAT "local/" (GIT-INITIALS)))
|
||||
INC IN (GIT-BRANCHES) FIRST (SETQ INC (NCHARS INITS))
|
||||
WHEN (STRPOS INITS B 1 NIL T NIL UPPERCASEARRAY) COLLECT B
|
||||
FINALLY (RETURN (SORT $$VAL (FUNCTION (LAMBDA (A B)
|
||||
@@ -823,10 +835,11 @@
|
||||
(DEFINEQ
|
||||
|
||||
(GIT-ADD-WORKTREE
|
||||
[LAMBDA (BRANCH REMOTEONLY) (* ; "Edited 12-Dec-2021 11:57 by rmk")
|
||||
(* ; "Edited 25-Nov-2021 08:45 by rmk:")
|
||||
(* ; "Edited 19-Nov-2021 19:01 by rmk:")
|
||||
(* ; "Edited 17-Nov-2021 18:25 by rmk:")
|
||||
[LAMBDA (BRANCH REMOTEONLY) (* ; "Edited 6-Mar-2022 15:51 by rmk")
|
||||
(* ; "Edited 12-Dec-2021 11:57 by rmk")
|
||||
(* ; "Edited 25-Nov-2021 08:45 by rmk:")
|
||||
(* ; "Edited 19-Nov-2021 19:01 by rmk:")
|
||||
(* ; "Edited 17-Nov-2021 18:25 by rmk:")
|
||||
(SETQ BRANCH (GITORIGIN BRANCH (NOT REMOTEONLY)))
|
||||
(CL:UNLESS (OR (GIT-BRANCH-EXISTS? BRANCH NIL T)
|
||||
(GIT-BRANCH-EXISTS? BRANCH T))
|
||||
@@ -894,12 +907,14 @@
|
||||
(DEFINEQ
|
||||
|
||||
(GIT-GET-DIFFERENT-FILES
|
||||
[LAMBDA (BRANCH1 BRANCH2 DIR1 DIR2) (* ; "Edited 24-Feb-2022 23:57 by rmk")
|
||||
[LAMBDA (BRANCH1 BRANCH2 DIR1 DIR2) (* ; "Edited 7-Mar-2022 08:14 by rmk")
|
||||
(* ; "Edited 24-Feb-2022 23:57 by rmk")
|
||||
(* ; "Edited 23-Feb-2022 18:47 by rmk")
|
||||
(* ; "Edited 12-Feb-2022 18:35 by rmk")
|
||||
(* ; "Edited 23-Jan-2022 21:45 by rmk")
|
||||
(* ; "Edited 11-Jan-2022 11:03 by rmk")
|
||||
(* ; "Edited 5-Jan-2022 08:01 by rmk")
|
||||
(DECLARE (USEDFREE FROMGITN))
|
||||
|
||||
(* ;; "Ask git for the files that differ between the branches, copy those files down to local DIR1 and DIR2, return the directories and a list of (dir1-file1 file2) mappings for renamed and copied files.")
|
||||
|
||||
@@ -930,49 +945,66 @@
|
||||
(SETQ DIR2 (CONCAT FROMGIT "<" (UNSLASHIT BRANCH2)
|
||||
">")))
|
||||
(FOR DLIST IN DIFFS
|
||||
DO
|
||||
(SELECTQ (CAR DLIST)
|
||||
(ADDED (* ;
|
||||
DO (SELECTQ (CAR DLIST)
|
||||
(ADDED (* ;
|
||||
"Shouldn't exist in MERGE, should exist in BRANCH1")
|
||||
(FOR GFILE IN (CDR DLIST) DO (GIT-GET-FILE BRANCH1 GFILE (CONCAT DIR1 GFILE))))
|
||||
(DELETED (* ;
|
||||
"Shouldn't exist in BRANCH1, should exist in MERGE")
|
||||
(FOR GFILE IN (CDR DLIST) DO (GIT-GET-FILE MERGE GFILE (CONCAT DIR2 GFILE))))
|
||||
(CHANGED (* ; "Should exist in both branches")
|
||||
(FOR GFILE IN (CDR DLIST) DO (GIT-GET-FILE BRANCH1 GFILE (CONCAT DIR1 GFILE)
|
||||
)
|
||||
(GIT-GET-FILE MERGE GFILE (CONCAT DIR2 GFILE))))
|
||||
(RENAMED
|
||||
(* ;; "These entries are from-to filename pairs. If (CADDR) is 100, only need to fetch one, mappings is returned so the connection can be reestablished higher up. If renamed, it has disappared from the first location and appeared in the second. The destination is in the CADR, the CAR file doesn't exist. But we store the files in DIR1 because they are coming from branch1")
|
||||
(FOR GFILE IN (CDR DLIST) DO (GIT-GET-FILE BRANCH1 GFILE (CONCAT DIR1 GFILE
|
||||
))))
|
||||
(DELETED
|
||||
(* ;; "Shouldn't exist in BRANCH1, should exist in MERGE. But maybe git is just confused in marking a file that exists in the wrong place as a delete instead of an add, or maybe it may think of a file that doesn't exist at all as having been deleted. Try for both, but don't cause an error.")
|
||||
|
||||
[FOR GFILE IN (CDR DLIST)
|
||||
DO (IF (EQ (CADDR GFILE)
|
||||
100)
|
||||
THEN (PUSH MAPPINGS (LIST [FULLNAME (GIT-GET-FILE
|
||||
BRANCH1
|
||||
(CADR GFILE)
|
||||
(CONCAT DIR1 (CADR GFILE]
|
||||
(CONCAT DIR2 (CAR GFILE))
|
||||
'R))
|
||||
ELSE (* ;
|
||||
"Deleted from MERGE, added to BRANCH1")
|
||||
(GIT-GET-FILE MERGE (CAR GFILE)
|
||||
(CONCAT DIR1 (CAR GFILE)))
|
||||
(GIT-GET-FILE BRANCH1 (CADR GFILE)
|
||||
(CONCAT DIR2 (CADR GFILE])
|
||||
(COPIED
|
||||
(* ;; "Same issue as for renaming")
|
||||
(FOR GFILE IN (CDR DLIST) DO (OR (GIT-GET-FILE MERGE GFILE
|
||||
(CONCAT DIR2 GFILE)
|
||||
T)
|
||||
(GIT-GET-FILE BRANCH1 GFILE
|
||||
(CONCAT DIR1 GFILE)
|
||||
T))))
|
||||
(CHANGED (* ; "Should exist in both branches")
|
||||
(FOR GFILE IN (CDR DLIST) DO (GIT-GET-FILE BRANCH1 GFILE (CONCAT DIR1
|
||||
GFILE))
|
||||
(GIT-GET-FILE MERGE GFILE (CONCAT DIR2 GFILE
|
||||
))))
|
||||
((RENAMED COPIED)
|
||||
|
||||
[FOR GFILE IN (CDR DLIST)
|
||||
DO (PUSH MAPPINGS (LIST [FULLNAME (GIT-GET-FILE BRANCH1 (CADR GFILE)
|
||||
(CONCAT DIR1 (CADR GFILE]
|
||||
(CONCAT DIR2 (CAR GFILE))
|
||||
'C])
|
||||
(HELP "UNKNOWN GIT-DIFF TAG" DLIST)))
|
||||
(* ;; "These entries are from-to filename pairs. If (CADDR) is 100, only need to fetch one, because it presumably has disappeared in MERGE and reappeared in BRANCH1. MAPPINGS is returned so the connection can be reestablished higher up. ")
|
||||
|
||||
|
||||
(* ;; "If renamed and then changed, for now treat as unrelated adds and deletes: put both files in the fromgit directory. Perhaps the mapping should still figure out how to relate them.")
|
||||
|
||||
(* ;; "For copied files, presumably 2 files are exactly the same. But we hope we can show them on the same line, by virtue of the mapping.")
|
||||
|
||||
(FOR GFILE F1 IN (CDR DLIST)
|
||||
DO
|
||||
(* ;; "F1 is the file in branch 1, if any, F2 is in branch 2")
|
||||
|
||||
[SETQ F1 (GIT-GET-FILE BRANCH1 (CADR GFILE)
|
||||
(CONCAT DIR1 (CADR GFILE]
|
||||
(IF (EQ (CADDR GFILE)
|
||||
100)
|
||||
THEN
|
||||
|
||||
(* ;; "A little tricky to figure out what corresponds to the real file in the mapping, which directory it belongs to. Maybe the first one should always be one that exists, the second may just be a useful name. But we have to know whether to match against INFO1 or INFO2")
|
||||
|
||||
(PUSH MAPPINGS (LIST (FULLNAME F1)
|
||||
(SLASHIT (U-CASE (CONCAT DIR2
|
||||
(CAR GFILE)))
|
||||
T)
|
||||
(NTHCHAR (CAR DLIST)
|
||||
1)
|
||||
100))
|
||||
ELSE
|
||||
(* ;;
|
||||
"If not a perfect match, then the directory should figure it out")
|
||||
|
||||
(GIT-GET-FILE MERGE (CAR GFILE)
|
||||
(CONCAT DIR2 (CAR GFILE))
|
||||
T))))
|
||||
(HELP "UNKNOWN GIT-DIFF TAG" DLIST)))
|
||||
(LIST DIR1 DIR2 MAPPINGS))])
|
||||
|
||||
(GIT-COMPARE-BRANCHES
|
||||
[LAMBDA (BRANCH1 BRANCH2 LOCAL) (* ; "Edited 22-Feb-2022 22:53 by rmk")
|
||||
[LAMBDA (BRANCH1 BRANCH2 LOCAL) (* ; "Edited 6-Mar-2022 19:52 by rmk")
|
||||
(* ; "Edited 22-Feb-2022 22:53 by rmk")
|
||||
(* ; "Edited 19-Feb-2022 10:21 by rmk")
|
||||
(* ; "Edited 13-Feb-2022 21:27 by rmk")
|
||||
(* ; "Edited 2-Feb-2022 08:46 by rmk")
|
||||
@@ -1028,7 +1060,9 @@
|
||||
(REPLACE (CDENTRY INFO2) OF CDE
|
||||
WITH (CREATE CDINFO
|
||||
FULLNAME _ (CADR MAP)
|
||||
DATE _ ""
|
||||
DATE _ (CL:IF (EQ 'R (CADDR MAP))
|
||||
" <-"
|
||||
" ==")
|
||||
LENGTH _ ""
|
||||
AUTHOR _ ""
|
||||
TYPE _ ""
|
||||
@@ -1056,7 +1090,7 @@
|
||||
[LAMBDA (SUBDIRS SELECT EXCLUDEDFILES TEDIT FIXDIRECTORYDATES UPDATE HOST1 HOST2)
|
||||
|
||||
(* ;;
|
||||
"Edited 26-Feb-2022 11:58 by rmk: my medley subdirectories with the current local git branch.")
|
||||
"Edited 6-Mar-2022 21:51 by rmk: my medley subdirectories with the current local git branch.")
|
||||
|
||||
(* ;; "Compares my medley subdirectories with the current local git branch.")
|
||||
|
||||
@@ -1066,7 +1100,7 @@
|
||||
(SETQ SUBDIRS (CAR SUBDIRS)))
|
||||
(SETQ SUBDIRS (L-CASE SUBDIRS))
|
||||
(PRINTOUT T "Comparing " (SELECTQ SUBDIRS
|
||||
(nil (SETQ SUBDIRS '(sources library lispusers)))
|
||||
(nil (SETQ SUBDIRS '(scripts sources library lispusers)))
|
||||
(all (SETQ SUBDIRS (ALLSUBDIRS HOST1 HOST2))
|
||||
"ALL subdirectories")
|
||||
SUBDIRS)
|
||||
@@ -1347,7 +1381,8 @@
|
||||
" ; "])
|
||||
|
||||
(GIT-COMMAND
|
||||
[LAMBDA (CMD ALL NOERROR) (* ; "Edited 25-Feb-2022 09:25 by rmk")
|
||||
[LAMBDA (CMD ALL NOERROR) (* ; "Edited 6-Mar-2022 15:53 by rmk")
|
||||
(* ; "Edited 25-Feb-2022 09:25 by rmk")
|
||||
(* ; "Edited 3-Jan-2022 10:47 by rmk")
|
||||
(* ; "Edited 24-Nov-2021 16:44 by rmk:")
|
||||
(* ; "Edited 16-Nov-2021 09:07 by rmk:")
|
||||
@@ -1372,9 +1407,9 @@
|
||||
(OR ALL (NOT (STRPOS ".git" LINE 1 NIL T] COLLECT LINE
|
||||
FINALLY (CL:UNLESS NOERROR
|
||||
(CL:WHEN (OR (EQ 1 (STRPOS "fatal" (CAR $$VAL)
|
||||
1 NIL NIL T))
|
||||
1 NIL T))
|
||||
(EQ 1 (STRPOS "gh: Command not found" (CAR $$VAL)
|
||||
1 NIL NIL T)))
|
||||
1 NIL T)))
|
||||
(ERROR (CONCAT "Git command %"" CMD "%" failed")
|
||||
(CAR $$VAL))))])
|
||||
|
||||
@@ -1402,22 +1437,22 @@
|
||||
(ERROR "INITIALS is not set"])
|
||||
)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (4679 5525 (GIT-CLONEP 4689 . 5523)) (7851 9831 (ALLSUBDIRS 7861 . 9029) (MEDLEYSUBDIRS
|
||||
9031 . 9470) (GITSUBDIRS 9472 . 9829)) (9832 15306 (TOGIT 9842 . 11990) (FROMGIT 11992 . 12970) (
|
||||
GIT-DELETE-FILE 12972 . 13866) (MYMEDLEY-DELETE-FILES 13868 . 15304)) (15307 17456 (MYMEDLEYSUBDIR
|
||||
15317 . 15763) (GITSUBDIR 15765 . 16088) (STRIPDIR 16090 . 16461) (STRIPHOST 16463 . 16699) (STRIPNAME
|
||||
16701 . 17454)) (17457 18985 (GFILE4MFILE 17467 . 17713) (MFILE4GFILE 17715 . 18057) (
|
||||
GIT-REPO-FILENAME 18059 . 18983)) (19034 29384 (GIT-COMMIT 19044 . 19622) (GIT-PUSH 19624 . 20180) (
|
||||
GIT-PULL 20182 . 20588) (GIT-BRANCH-DIFF 20590 . 24388) (GIT-APPROVAL 24390 . 24591) (GIT-GET-FILE
|
||||
24593 . 26796) (GIT-FILE-EXISTS? 26798 . 27522) (GIT-REMOTE-UPDATE 27524 . 28566) (GIT-REMOTE-ADD
|
||||
28568 . 28875) (GIT-FILE-DATE 28877 . 29382)) (29429 35048 (GIT-CHECKOUT 29439 . 29680) (
|
||||
GIT-WHICH-BRANCH 29682 . 30266) (GIT-MAKE-BRANCH 30268 . 31759) (GIT-BRANCHES 31761 . 32739) (
|
||||
GIT-BRANCH-EXISTS? 32741 . 33802) (PICK-BRANCH 33804 . 34148) (GIT-PULL-REQUESTS 34150 . 35046)) (
|
||||
35078 37783 (GIT-MY-CURRENT-BRANCH 35088 . 35261) (GIT-MY-BRANCHP 35263 . 36182) (GIT-MY-NEXT-BRANCH
|
||||
36184 . 36625) (GIT-MY-BRANCHES 36627 . 37781)) (37829 41599 (GIT-ADD-WORKTREE 37839 . 39599) (
|
||||
GIT-REMOVE-WORKTREE 39601 . 40179) (GIT-LIST-WORKTREES 40181 . 40985) (WORKTREEDIR 40987 . 41597)) (
|
||||
41647 68101 (GIT-GET-DIFFERENT-FILES 41657 . 46747) (GIT-COMPARE-BRANCHES 46749 . 52241) (
|
||||
GIT-COMPARE-WITH-MYMEDLEY 52243 . 55963) (GIT-COMPARE-WORKTREE 55965 . 59442) (GITCDOBJBUTTONFN 59444
|
||||
. 64448) (GIT-CD-LABELFN 64450 . 65532) (GIT-CD-MENUFN 65534 . 68099)) (68171 71739 (CDGITDIR 68181
|
||||
. 68877) (GIT-COMMAND 68879 . 70852) (GITORIGIN 70854 . 71431) (GIT-INITIALS 71433 . 71737)))))
|
||||
(FILEMAP (NIL (4694 5540 (GIT-CLONEP 4704 . 5538)) (8022 10002 (ALLSUBDIRS 8032 . 9200) (MEDLEYSUBDIRS
|
||||
9202 . 9641) (GITSUBDIRS 9643 . 10000)) (10003 15477 (TOGIT 10013 . 12161) (FROMGIT 12163 . 13141) (
|
||||
GIT-DELETE-FILE 13143 . 14037) (MYMEDLEY-DELETE-FILES 14039 . 15475)) (15478 17627 (MYMEDLEYSUBDIR
|
||||
15488 . 15934) (GITSUBDIR 15936 . 16259) (STRIPDIR 16261 . 16632) (STRIPHOST 16634 . 16870) (STRIPNAME
|
||||
16872 . 17625)) (17628 19156 (GFILE4MFILE 17638 . 17884) (MFILE4GFILE 17886 . 18228) (
|
||||
GIT-REPO-FILENAME 18230 . 19154)) (19205 30157 (GIT-COMMIT 19215 . 19793) (GIT-PUSH 19795 . 20351) (
|
||||
GIT-PULL 20353 . 20759) (GIT-BRANCH-DIFF 20761 . 24741) (GIT-APPROVAL 24743 . 24944) (GIT-GET-FILE
|
||||
24946 . 27246) (GIT-FILE-EXISTS? 27248 . 28075) (GIT-REMOTE-UPDATE 28077 . 29119) (GIT-REMOTE-ADD
|
||||
29121 . 29428) (GIT-FILE-DATE 29430 . 30155)) (30202 36259 (GIT-CHECKOUT 30212 . 30453) (
|
||||
GIT-WHICH-BRANCH 30455 . 31039) (GIT-MAKE-BRANCH 31041 . 32532) (GIT-BRANCHES 32534 . 33708) (
|
||||
GIT-BRANCH-EXISTS? 33710 . 34907) (PICK-BRANCH 34909 . 35359) (GIT-PULL-REQUESTS 35361 . 36257)) (
|
||||
36289 39121 (GIT-MY-CURRENT-BRANCH 36299 . 36472) (GIT-MY-BRANCHP 36474 . 37393) (GIT-MY-NEXT-BRANCH
|
||||
37395 . 37836) (GIT-MY-BRANCHES 37838 . 39119)) (39167 43059 (GIT-ADD-WORKTREE 39177 . 41059) (
|
||||
GIT-REMOVE-WORKTREE 41061 . 41639) (GIT-LIST-WORKTREES 41641 . 42445) (WORKTREEDIR 42447 . 43057)) (
|
||||
43107 71214 (GIT-GET-DIFFERENT-FILES 43117 . 49552) (GIT-COMPARE-BRANCHES 49554 . 55346) (
|
||||
GIT-COMPARE-WITH-MYMEDLEY 55348 . 59076) (GIT-COMPARE-WORKTREE 59078 . 62555) (GITCDOBJBUTTONFN 62557
|
||||
. 67561) (GIT-CD-LABELFN 67563 . 68645) (GIT-CD-MENUFN 68647 . 71212)) (71284 74953 (CDGITDIR 71294
|
||||
. 71990) (GIT-COMMAND 71992 . 74066) (GITORIGIN 74068 . 74645) (GIT-INITIALS 74647 . 74951)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
@@ -24,7 +24,8 @@ This will compare the files in origin/rmk15 and origin/lmm12. branch1 defaults
|
||||
brings up a lispusers/COMPAREDIRECTORIES browser for the files that currently differ between origin/rmk15 and origin/master. If the selected files are Lisp source files, the Compare item on the file browser menu will show the differences in a lispusers/COMPARESOURCES browser. The differences for other file types will be shown in a lispusers/COMPARETEXT browser.
|
||||
If branch is not specified and the shell command gh is available, then a menu of open pull-request branches will be provided. If gh is not available, the menu will offer all known branches. If the optional DRAFT is provided, then the menu will include draft PR's as well as open ones.
|
||||
Note that the comparison that this provides is essentially read-only: any comments, approvals, or merges of the branch must be specified using the normal Medley-external git interfaces and commands.
|
||||
|
||||
|
||||
prc is the special case of the more general bbc command ("branch-branch compare) for comparing the files in any two branches:
|
||||
bbc branch1 branch2 [command]
|
||||
This compares the files in branch1 and branch2, for example
|
||||
bbc rmk15 lmm12 (local)
|
||||
@@ -46,6 +47,6 @@ TIMESROMAN | ||||