My favorites | Sign in
Project Home Downloads Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#ifndef _usvn_usvn_h_
#define _usvn_usvn_h_

#include <TextDiffCtrl/TextDiffCtrl.h>

using namespace Upp;

#define LAYOUTFILE <usvn/usvn.lay>
#include <CtrlCore/lay.h>

class SysConsole : public WithConsoleLayout<TopWindow> {
typedef SysConsole CLASSNAME;

Font font;
void AddResult(const String& out);

public:
int System(const char *s);
int CheckSystem(const char *s);
void Perform() { exit.Show(); Execute(); }

SysConsole();
};

class SvnSel : public WithSvnSelLayout<TopWindow> {
String url, usr, pwd;
String folder;

bool Load(const String& path);
void SyncResult();
void Go();
void DirUp();
bool NewUrl();
void Url();
bool TryLoad(const char *url);
bool Select0();

typedef SvnSel CLASSNAME;

public:
bool Select();
bool Select(const char *url, const char *user, const char *pwd);

String GetUsername() const { return usr; }
String GetPassword() const { return pwd; }
String GetUrl() const { return ~result; }

SvnSel();
};

struct Repo {
String repo;
String work;
String user;
String pswd;

void Save(String& s);
void Load(CParser& p);
};

struct SvnWork {
String working;
String user;
String password;
int revision;
bool readonly;
};

class SvnWorks : public WithSvnWorksLayout<TopWindow> {
void New();
void Edit();
void Remove();
void Checkout();
void Sync();

FrameRight<Button> dirsel;
void DirSel(EditField& f);

public:
void Clear();
void Add(const String& working, const String& user, const String& data, bool readonly=false);
void Load(const String& text);
String Save() const;

int GetCount() const;
SvnWork operator[](int i) const;
void SetRevision(int i, int revision);

typedef SvnWorks CLASSNAME;

SvnWorks();
};

String SvnCmd(const char *cmd, const String& user, const String& pwd, int rev=0);
String SvnCmd(const char *cmd, const SvnWork& w);

bool IsSvnDir(const String& p);

bool CheckSvn();

struct SvnSync : WithSvnSyncLayout<TopWindow> {
enum {
MODIFY,
CONFLICT,
ADD,
REMOVE,
REPLACE,

REPOSITORY,
MESSAGE,

SVN_IGNORE = -1,
DELETEC = -2,
SVN_ACTION = -3,
};

Array<Switch> revert;
Array<DocEdit> message;
Array<Button> diff;
ArrayMap<String, String> msgmap;

SvnWorks works;

void SyncList();
void Setup();
void DoDiff(int ii);
void Diff();

typedef SvnSync CLASSNAME;

public:
void SetMsgs(const String& s);
String GetMsgs();

void Dir(const char *dir, bool readonly=false);
void FixRevision(const char *dir, int revision);
void Perform();
void DoSync();

SvnSync();
};

void RunSvnDiff(String editfile);

#endif

Change log

r4479 by cxl on Jan 28, 2012   Diff
.developing usvn
Go to: 
Project members, sign in to write a code review

Older revisions

r3307 by dolik on Mar 24, 2011   Diff
theide: new source updating system
r1289 by cxl on Jun 7, 2009   Diff
theide svn (and usvn):
Support for multiline commit messages
r1270 by cxl on Jun 3, 2009   Diff
theide, usvn: Exclamation if no
svn.exe (or binary) found, provides
download location
All revisions of this file

File info

Size: 2804 bytes, 145 lines
Powered by Google Project Hosting