summaryrefslogtreecommitdiff
path: root/src/pacman/sync.c
diff options
context:
space:
mode:
authorAurelien Foret <aurelien@archlinux.org>2006-02-05 09:34:49 +0000
committerAurelien Foret <aurelien@archlinux.org>2006-02-05 09:34:49 +0000
commitbcd7ce0dfdc773be440cae5f87b6b9538442aef3 (patch)
tree79cacbb27374bedbb1897076aa1d1c47de88380b /src/pacman/sync.c
parent325e3b6b98ee4ca217b153157936b77dc570bb57 (diff)
added support for the PM_CONFLICT structure to handle file conflicts
Diffstat (limited to 'src/pacman/sync.c')
-rw-r--r--src/pacman/sync.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/pacman/sync.c b/src/pacman/sync.c
index d9463a87..c46cf7b3 100644
--- a/src/pacman/sync.c
+++ b/src/pacman/sync.c
@@ -766,7 +766,20 @@ int pacman_sync(list_t *targets)
switch(pm_errno) {
case PM_ERR_FILE_CONFLICTS:
for(lp = alpm_list_first(data); lp; lp = alpm_list_next(lp)) {
- MSG(NL, ":: %s\n", (char *)alpm_list_getdata(lp));
+ PM_CONFLICT *conflict = alpm_list_getdata(i);
+ switch((int)alpm_conflict_getinfo(conflict, PM_CONFLICT_TYPE)) {
+ case PM_CONFLICT_TYPE_TARGET:
+ MSG(NL, "%s exists in \"%s\" (target) and \"%s\" (target)",
+ (char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_FILE),
+ (char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_TARGET),
+ (char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_CTARGET));
+ break;
+ case PM_CONFLICT_TYPE_FILE:
+ MSG(NL, "%s: %s exists in filesystem",
+ (char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_TARGET),
+ (char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_FILE));
+ break;
+ }
}
alpm_list_free(data);
MSG(NL, "\nerrors occurred, no packages were upgraded.\n");